From 7f03504928a7efc95e447b46bfc2a2f27217dd01 Mon Sep 17 00:00:00 2001 From: "chao.liuc" Date: Thu, 12 Jan 2012 03:26:52 +0000 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B62.0.12=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=20bugid:193=20=E5=AE=A2=E6=88=B7=E7=AB=AF=E9=87=8D=E8=BF=9E?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=87=BA=E7=8E=B0=E8=BF=9E=E6=8E=A5=E6=96=AD?= =?UTF-8?q?=E5=BC=80=E4=B8=80=E5=AE=9A=E4=BC=9A=E5=87=BA=E7=8E=B0error?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= 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@863 1a56cb94-b969-4eaa-88fa-be21384802f2 --- .../alibaba/dubbo/remoting/transport/AbstractClient.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dubbo-remoting/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractClient.java b/dubbo-remoting/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractClient.java index 210dfc222..ecdd9c253 100644 --- a/dubbo-remoting/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractClient.java +++ b/dubbo-remoting/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractClient.java @@ -76,7 +76,7 @@ public abstract class AbstractClient extends AbstractEndpoint implements Client //the last successed connected time private long lastConnectedTime = System.currentTimeMillis(); - private final int shutdown_timeout ; + private final long shutdown_timeout ; public AbstractClient(URL url, ChannelHandler handler) throws RemotingException { @@ -137,13 +137,15 @@ public abstract class AbstractClient extends AbstractEndpoint implements Client int reconnect = getReconnectParam(getUrl()); if(reconnect > 0 && reconnectExecutorFuture == null){ Runnable connectStatusCheckCommand = new Runnable() { - String errorMsg = "client reconnect to "+getUrl().getAddress()+" find error . url: "+ getUrl(); public void run() { try { if (! isConnected()) { connect(); + } else { + lastConnectedTime = System.currentTimeMillis(); } } catch (Throwable t) { + String errorMsg = "client reconnect to "+getUrl().getAddress()+" find error . url: "+ getUrl(); int count = reconnect_count.incrementAndGet(); // wait registry sync provider list if (System.currentTimeMillis() - lastConnectedTime > shutdown_timeout){ @@ -280,7 +282,6 @@ public abstract class AbstractClient extends AbstractEndpoint implements Client + NetUtils.getLocalHost() + " using dubbo version " + Version.getVersion() + ", cause: Connect wait timeout: " + getTimeout() + "ms."); } - lastConnectedTime = System.currentTimeMillis(); reconnect_count.set(0); reconnect_error_log_flag.set(false); } catch (RemotingException e) { @@ -289,7 +290,7 @@ public abstract class AbstractClient extends AbstractEndpoint implements Client throw new RemotingException(this, "Failed connect to server " + getRemoteAddress() + " from " + getClass().getSimpleName() + " " + NetUtils.getLocalHost() + " using dubbo version " + Version.getVersion() + ", cause: " + e.getMessage(), e); - } finally { + } finally { connectLock.unlock(); } } -- GitLab