Browse Source

停机时清空zk客户端信息,修复重启时报出的zk连接已关闭的异常

wurongjun@duiba.com.cn 6 years ago
parent
commit
47d7914304

+ 4 - 0
common/src/main/java/com/alibaba/otter/canal/common/zookeeper/ZkClientx.java

@@ -34,6 +34,10 @@ public class ZkClientx extends ZkClient {
         return clients.get(servers);
     }
 
+    public static void clearClients() {
+        clients.clear();
+    }
+
     public ZkClientx(String serverstring){
         this(serverstring, Integer.MAX_VALUE);
     }

+ 2 - 0
deployer/src/main/java/com/alibaba/otter/canal/deployer/CanalController.java

@@ -503,6 +503,8 @@ public class CanalController {
         if (zkclientx != null) {
             zkclientx.close();
         }
+
+        ZkClientx.clearClients();
     }
 
     private void initCid(String path) {