Curator教程(一)watcher監聽

1.watcher方式一(監聽當前節點發生變更)

		String address = "mini1:2181,mini2:2181,mini3:2181";
		 RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 10);
		 
		CuratorFramework client = CuratorFrameworkFactory.newClient(address, new ExponentialBackoffRetry(1000, 3));
		
		client.start();
		
		//創建節點watcher監聽
		 final NodeCache cache = new NodeCache(client, "/super", false);
		 cache.start(true);
		 cache.getListenable().addListener(new NodeCacheListener() {
			
			public void nodeChanged() throws Exception {
				System.out.println(cache.getCurrentData().getPath());
				System.out.println(cache.getCurrentData().getStat());
			}
		});

2.watcher方式二(監聽當前節點的子節點發生變更)

		String address = "mini1:2181,mini2:2181,mini3:2181";
		 RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 10);
		 
		CuratorFramework client = CuratorFrameworkFactory.newClient(address, new ExponentialBackoffRetry(1000, 3));
		
		client.start();
	
		//創建子節點watcher監聽
		 PathChildrenCache cache = new PathChildrenCache(client, "/super", true);
		 cache.start(StartMode.POST_INITIALIZED_EVENT);
		 cache.getListenable().addListener(new PathChildrenCacheListener() {
			public void childEvent(CuratorFramework cf, PathChildrenCacheEvent event) throws Exception {
				System.out.println(event.getType());
			}
		});
		 Thread.sleep(Long.MAX_VALUE);



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章