You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2020/01/13 02:16:49 UTC
[dubbo] branch master updated: lazy share connection (#5532)
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new b288ad7 lazy share connection (#5532)
b288ad7 is described below
commit b288ad7e3812d2354e54aa2f20f8127f24586a5e
Author: Haiyang <ha...@163.com>
AuthorDate: Mon Jan 13 10:16:32 2020 +0800
lazy share connection (#5532)
---
.../rpc/protocol/dubbo/LazyConnectExchangeClient.java | 2 +-
.../dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java | 14 +++++++++-----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient.java
index 77eae2c..8af87c8 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient.java
@@ -187,7 +187,7 @@ final class LazyConnectExchangeClient implements ExchangeClient {
if (client != null) {
return client.isClosed();
} else {
- return true;
+ return false;
}
}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/org/apache/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/org/apache/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java
index ec07a87..489d86f 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/org/apache/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/org/apache/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java
@@ -43,7 +43,7 @@ import static org.junit.jupiter.api.Assertions.fail;
* Check available status for dubboInvoker
*/
public class DubboInvokerAvilableTest {
- private static DubboProtocol protocol = DubboProtocol.getDubboProtocol();
+ private static DubboProtocol protocol;
private static ProxyFactory proxy = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension();
@BeforeAll
@@ -52,6 +52,7 @@ public class DubboInvokerAvilableTest {
@BeforeEach
public void setUp() throws Exception {
+ protocol = new DubboProtocol();
}
@AfterAll
@@ -97,10 +98,10 @@ public class DubboInvokerAvilableTest {
long start = System.currentTimeMillis();
- try{
+ try {
System.setProperty(SHUTDOWN_WAIT_KEY, "2000");
protocol.destroy();
- }finally {
+ } finally {
System.getProperties().remove(SHUTDOWN_WAIT_KEY);
}
@@ -130,8 +131,11 @@ public class DubboInvokerAvilableTest {
AsyncToSyncInvoker<?> invoker = (AsyncToSyncInvoker) protocol.refer(IDemoService.class, url);
Assertions.assertTrue(invoker.isAvailable());
+
+ ExchangeClient exchangeClient = getClients((DubboInvoker<?>) invoker.getInvoker())[0];
+ Assertions.assertFalse(exchangeClient.isClosed());
try {
- getClients((DubboInvoker<?>) invoker.getInvoker())[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
+ exchangeClient.setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
fail();
} catch (IllegalStateException e) {
@@ -141,7 +145,7 @@ public class DubboInvokerAvilableTest {
Assertions.assertEquals("ok", service.get());
Assertions.assertTrue(invoker.isAvailable());
- getClients((DubboInvoker<?>) invoker.getInvoker())[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
+ exchangeClient.setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
Assertions.assertFalse(invoker.isAvailable());
}