1717package org .apache .dubbo .remoting .zookeeper .curator ;
1818
1919import org .apache .dubbo .common .URL ;
20+ import org .apache .dubbo .common .logger .Logger ;
21+ import org .apache .dubbo .common .logger .LoggerFactory ;
2022import org .apache .dubbo .common .utils .StringUtils ;
2123import org .apache .dubbo .remoting .zookeeper .ChildListener ;
2224import org .apache .dubbo .remoting .zookeeper .DataListener ;
4951
5052public class CuratorZookeeperClient extends AbstractZookeeperClient <CuratorZookeeperClient .CuratorWatcherImpl , CuratorZookeeperClient .CuratorWatcherImpl > {
5153
54+ protected static final Logger logger = LoggerFactory .getLogger (CuratorZookeeperClient .class );
55+
5256 static final Charset CHARSET = Charset .forName ("UTF-8" );
5357 private final CuratorFramework client ;
5458 private Map <String , TreeCache > treeCacheMap = new ConcurrentHashMap <>();
@@ -288,6 +292,9 @@ public void process(WatchedEvent event) throws Exception {
288292 @ Override
289293 public void childEvent (CuratorFramework client , TreeCacheEvent event ) throws Exception {
290294 if (dataListener != null ) {
295+ if (logger .isInfoEnabled ()) {
296+ logger .info ("listen the zookeeper changed. The changed data:" + event .getData ());
297+ }
291298 TreeCacheEvent .Type type = event .getType ();
292299 EventType eventType = null ;
293300 String content = null ;
@@ -296,12 +303,12 @@ public void childEvent(CuratorFramework client, TreeCacheEvent event) throws Exc
296303 case NODE_ADDED :
297304 eventType = EventType .NodeCreated ;
298305 path = event .getData ().getPath ();
299- content = new String (event .getData ().getData (), CHARSET );
306+ content = event . getData (). getData () == null ? "" : new String (event .getData ().getData (), CHARSET );
300307 break ;
301308 case NODE_UPDATED :
302309 eventType = EventType .NodeDataChanged ;
303310 path = event .getData ().getPath ();
304- content = new String (event .getData ().getData (), CHARSET );
311+ content = event . getData (). getData () == null ? "" : new String (event .getData ().getData (), CHARSET );
305312 break ;
306313 case NODE_REMOVED :
307314 path = event .getData ().getPath ();
0 commit comments