```java
for (ExchangeClient client : clients) {
try {
client.close(ConfigUtils.getServerShutdownTimeout());
} catch (Throwable t) {
logger.warn(t.getMessage(), t);
}
}
```
I have double checked that `client.close();` will not actually close the client
and any resources. Because the Client is an instance of
ReferenceCountExchangeClient and it will only close when there's no Invoker
other than this one is using it, while `rerefer` must happens before
`destroyUnusedInvokers`, so there will at least two invokers refering the
client instance when close method is called.
```java
@Override
public void close(int timeout) {
if (refenceCount.decrementAndGet() <= 0) {
if (timeout == 0) {
client.close();
} else {
client.close(timeout);
}
client = replaceWithLazyClient();
}
}
```
[ Full content available at:
https://github.com/apache/incubator-dubbo/pull/2679 ]
This message was relayed via gitbox.apache.org for
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]