馆长教程(一)观察者监听

  

<强> 1。观察家方式一(监听当前节点发生变更)

string  address =,“mini1:2181, mini2:2181 mini3:2181";   ,RetryPolicy  RetryPolicy =, new  ExponentialBackoffRetry (1000,, 10);   ,   CuratorFramework  client =, CuratorFrameworkFactory.newClient(地址,,new  ExponentialBackoffRetry (1000,, 3));      client.start ();//创建节点观察家监听   ,final  NodeCache  cache =, new  NodeCache(客户,,“/super",,假);   ,cache.start(真正的);   ,cache.getListenable () .addListener (new  NodeCacheListener (), {      public  void  nodeChanged (), throws  Exception  {   .getPath System.out.println (cache.getCurrentData () ());   .getStat System.out.println (cache.getCurrentData () ());   }   });

<强>

2。<强>观察家方式二(监听当前节点的子节点发生变更)

string  address =,“mini1:2181, mini2:2181 mini3:2181";   ,RetryPolicy  RetryPolicy =, new  ExponentialBackoffRetry (1000,, 10);   ,   CuratorFramework  client =, CuratorFrameworkFactory.newClient(地址,,new  ExponentialBackoffRetry (1000,, 3));      client.start ();//创建子节点观察家监听   ,PathChildrenCache  cache =, new  PathChildrenCache(客户,,“/super",,真的);   ,cache.start (StartMode.POST_INITIALIZED_EVENT);   ,cache.getListenable () .addListener (new  PathChildrenCacheListener (), {   public  void  childEvent (CuratorFramework  cf, PathChildrenCacheEvent 事件),throws  Exception  {   System.out.println (event.getType ());   }   });   ,thread . sleep (Long.MAX_VALUE);

<强>


馆长教程(一)观察者监听