diff --git a/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfiguration.java b/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfiguration.java index b427709dc8..17daabb7b6 100644 --- a/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfiguration.java +++ b/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/ZookeeperDynamicConfiguration.java @@ -146,7 +146,7 @@ public class ZookeeperDynamicConfiguration extends TreePathDynamicConfiguration @Override protected void doRemoveListener(String pathKey, ConfigurationListener listener) { ZookeeperDataListener zookeeperDataListener = cacheListener.removeListener(pathKey, listener); - if (CollectionUtils.isEmpty(zookeeperDataListener.getListeners())) { + if (zookeeperDataListener != null && CollectionUtils.isEmpty(zookeeperDataListener.getListeners())) { zkClient.removeDataListener(pathKey, zookeeperDataListener); } }