From cb73a3a271b8f77c86b8b42eec417278642e7d1c Mon Sep 17 00:00:00 2001 From: "william.liangf" Date: Wed, 9 Nov 2011 10:39:39 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9zookeeper=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E9=87=8D=E8=BF=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.alibabatech.com/svn/dubbo/trunk@220 1a56cb94-b969-4eaa-88fa-be21384802f2 --- .../registry/zookeeper/ZookeeperRegistry.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java b/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java index c83fcfa63c..37d4a9a78e 100644 --- a/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java +++ b/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java @@ -74,26 +74,26 @@ public class ZookeeperRegistry extends FailbackRegistry { @Override protected void doRetry() { - ZooKeeper zk = this.zookeeper; - if (zk == null || zk.getState() == null || ! zk.getState().isAlive()) { - initZookeeper(); - } + initZookeeper(); } private void initZookeeper() { - zookeeperLock.lock(); - try { - ZooKeeper zk = this.zookeeper; - if (zk == null || zk.getState() == null || ! zk.getState().isAlive()) { - this.zookeeper = createZookeeper(); + ZooKeeper zk = this.zookeeper; + if (zk == null || zk.getState() == null || ! zk.getState().isAlive()) { + zookeeperLock.lock(); + try { + zk = this.zookeeper; + if (zk == null || zk.getState() == null || ! zk.getState().isAlive()) { + this.zookeeper = createZookeeper(); + } + if (zk != null) { + zk.close(); + } + } catch (Exception e) { + throw new IllegalStateException(e.getMessage(), e); + } finally { + zookeeperLock.unlock(); } - if (zk != null) { - zk.close(); - } - } catch (Exception e) { - throw new IllegalStateException(e.getMessage(), e); - } finally { - zookeeperLock.unlock(); } }