使用com.101tec.ZKClient客户端测试节点值改变监听器
使用zkcli的set path data给节点设置一个新值,代码中设置的监听器没有反应。
代码内27的writeData方法可以触发监听器
如何在zkCli里改变节点值,触发监听器?
使用com.101tec.ZKClient客户端测试节点值改变监听器
使用zkcli的set path data给节点设置一个新值,代码中设置的监听器没有反应。
代码内27的writeData方法可以触发监听器
如何在zkCli里改变节点值,触发监听器?
由于zkClient创建连接的时候指定了默认的序列化类-new SerializableSerializer(),所以存储在节点上的值也是序列化后的字节数组,当使用zkCli.sh在控制台set /xxx/xx的值时,存储的是普通的字符串字节数组。所以当set值时虽然触发了值改变事件,但zkClient无法反序列化这个值。
要使zkCli.sh的值也能被zkClient读取必须通过实现ZkSerializer接口使用自定义的序列化类:
然后使用自定义类