ServiceDiscovery has its own listener: ServiceCacheListener - use that. -Jordan
On April 21, 2015 at 1:17:10 PM, Arbi Akhina ([email protected]) wrote: I'm using Apache Curator for service discovery, and PathChildrenCache to listen for events when a service is added/updated/deleted. PathChildrenCache pathCache = new PathChildrenCache(client, "/directory", true); pathCache.getListenable().addListener(new PathChildrenCacheListener() { @Override public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception { if(event.getType() == PathChildrenCacheEvent.Type.CHILD_ADDED) { System.out.println("Added"); }else if(event.getType() == PathChildrenCacheEvent.Type.CHILD_UPDATED) { System.out.println("Updated"); }else if(event.getType() == PathChildrenCacheEvent.Type.CHILD_REMOVED) { System.out.println("Removed"); } } } pathCache.start(); When I register a service through org.apache.curator.x.discovery.ServiceDiscovery, I got an added event. But when I un-register a service I don't get the removed event. How I could properly listen to service events?
