- [x] I have searched the [issues](https://github.com/apache/incubator-dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/incubator-dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.0
* Operating System version: mac
* Java version: 1.8

### Steps to reproduce this issue

1.  `AbstractClient#initConnectStatusCheckCommand` set break point at `  !isConnected()`.
2. `AbstractClient#close()` set break point here.    
3.  start client first, start provider and then shutdown provider gracefully , let method `AbstractClient.close()` be executed. Then select step `1` and trigger the thread to execute `!isConnected`, here will always try to connect the offline machine.

Pls. provide [GitHub address] to reproduce this issue.

### Expected Result

What do you expected from the above steps？

When the server goes offline, the client will not reconnect the offline machine.

### Actual Result

What actually happens?

The client reconnects the offline machine every 2 seconds and causes a large number of arp packets(because ip is recycled and not available now).
}
    
    private static String[] getFilteredKeys(URL url) {
        Map<String, String> params = url.getParameters();
        if (CollectionUtils.isNotEmptyMap(params)) {
            return params.keySet().stream()
                    .filter(k -> k.startsWith(HIDE_KEY_PREFIX))
                    .toArray(String[]::new);
        } else {
            return new String[0];
        }
    }
    public void setCluster(Cluster cluster) {
        this.cluster = cluster;
    }
    public void setProtocol(Protocol protocol) {
        this.protocol = protocol;
    }
    public void setRegistryFactory(RegistryFactory registryFactory) {
        this.registryFactory = registryFactory;
    }
    public void setProxyFactory(ProxyFactory proxyFactory) {
        this.proxyFactory = proxyFactory;
    }
    @Override
    public int getDefaultPort() {
        return 9090;
    }
    public Map<URL, NotifyListener> getOverrideListeners() {
        return overrideListeners;