Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ecf-dev] New topic in forum Eclipse Communications Framework (ECF), called Problems with ZooDiscovery, by Robert Lechner

Title: Eclipse Community Forums
Subject: Problems with ZooDiscovery Author: Robert Lechner Date: Tue, 16 December 2014 15:04
I managed to use the ECF generic server to run an OSGi remote service. This works fine, even when client and server are located on different machines.

Now I want to use ZooKeeper as a centralized service registry as described in wiki.eclipse.org/Zoodiscovery

My problem is now, that the IDiscoveryLocator on the client side never returns any services. I debugged the code and found the following situation:

ZooDiscovery runs on the client in a separate thread and gets the services from ZooKeeper. This is done in org.eclipse.ecf.provider.zookeeper.node.internal.NodeReader.processResult(); also a log is written. The service info is stored in org.eclipse.ecf.provider.zookeeper.node.internal.ReadRoot.discoverdServices

The IDiscoveryLocator (implemented by org.eclipse.ecf.provider.zookeeper.core.ZooDiscoveryContainer) delegates to org.eclipse.ecf.provider.zookeeper.node.internal.WatchManager.getAllKnownServices(), but this map is always empty.

My questions is: how are WatchManager and ReadRoot connected?

I attached logs for ZooKeeper, server and client.
In the client log you can see a line with "Service Discovered" in it; this shows that the client thread got the service information from ZooKeeper.

I'm using Luna Service Release 1 (4.4.1) with Java 8 and ECF 3.9.0

Thank you!


Attachment: client.log
(Size: 3.90KB, Downloaded 0 times)
Attachment: server.log
(Size: 3.53KB, Downloaded 0 times)
Attachment: zookeeper.log
(Size: 5.79KB, Downloaded 0 times)
[ Reply ][ Quote ][ View Topic/Message ][ Unsubscribe from this forum ]

Back to the top