From 0bab36874048ed17e1991b73ad3238381a3a4214 Mon Sep 17 00:00:00 2001 From: hekrxe Date: Thu, 21 Feb 2019 19:06:08 +0800 Subject: [PATCH] fix issue #3533 --- .../dubbo/configcenter/support/zookeeper/CacheListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/CacheListener.java b/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/CacheListener.java index a1e1f083523..1851a22b2f0 100644 --- a/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/CacheListener.java +++ b/dubbo-configcenter/dubbo-configcenter-zookeeper/src/main/java/org/apache/dubbo/configcenter/support/zookeeper/CacheListener.java @@ -38,6 +38,8 @@ * */ public class CacheListener implements TreeCacheListener { + private static final byte[] EMPTY_BYTES = new byte[0]; + private Map> keyListeners = new ConcurrentHashMap<>(); private CountDownLatch initializedLatch; private String rootPath; @@ -83,6 +85,9 @@ public void childEvent(CuratorFramework aClient, TreeCacheEvent event) throws Ex return; } + if (value == null) { + value = EMPTY_BYTES; + } ConfigChangeEvent configChangeEvent = new ConfigChangeEvent(key, new String(value, StandardCharsets.UTF_8), changeType); Set listeners = keyListeners.get(key); if (CollectionUtils.isNotEmpty(listeners)) {