2
回答
curator里面的NodeCache监听节点,怎么获取触发事件
【腾讯云】学生服务器套餐10元/月 >>>   

我用curator监听一个节点(不包括子节点)的变化

代码如下:

public class Test
{
	static void watch(CuratorFramework cf, String path)throws Exception
	{
		NodeCache cn = new NodeCache(cf, path);
		cn.getListenable().addListener(new NodeCacheListener()
		{
			public void nodeChanged() throws Exception 
			{
				System.out.println("===============");
			}
		});
		cn.start(true);
	}
	public static void main(String[] args) throws Exception
	{
		ExponentialBackoffRetry retryPolicy = new ExponentialBackoffRetry(1000, 3);
		CuratorFramework cf = CuratorFrameworkFactory.newClient("192.168.1.222:2181", retryPolicy);
		cf.start();
		watch(cf, "/admin");
		TimeUnit.SECONDS.sleep(200);
	}
}



现在的问题是:nodeChanged方法为啥没有参数,正常情况下,应该有一个event的参数

有了event参数,我就可以判定,到底是修改,还是删除,还是增加

请问,现在nodeChanged方法没有参数,我怎么判断触发了什么事件

举报
顶部