Description:
a dubbo provider project with springboot invokes dubbo service, defining referenced service like this:
```
 @DubboReference( check = false,url = "tri://localhost:50051")
 private HelloService helloService;
```

The consumer repeatedly calls the service with a delay of one second after each call.
```
 @Scheduled(fixedDelay = 1000)
    public void run() {
        String message = helloService.sayHello("lucky");
        System.out.println(message);
    }
```
key config items in  application.properties like this :
```
 dubbo.registry.address: N/A
```

Question:
The above code can run normally in dubbo-3.1.7, when starting the service consumer first, and then starting the service provider. At 3.2.1, the service consumer could not successfully reconnect to the service provider. 
According to the source code, the implementation of the ConnectionListener class, which is responsible for reconnecting, has changed. The number of connection references in the code changed from positive to 0, causing the logic to terminate early. Why is that？

Partial Code of Reconnection:



/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.dubbo.remoting.api.connection;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.logger.ErrorTypeAwareLogger;
import org.apache.dubbo.common.logger.LoggerFactory;
import org.apache.dubbo.remoting.ChannelHandler;
import org.apache.dubbo.remoting.RemotingException;
import org.apache.dubbo.remoting.api.WireProtocol;
import org.apache.dubbo.remoting.transport.AbstractClient;
import java.net.InetSocketAddress;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import static org.apache.dubbo.common.constants.LoggerCodeConstants.PROTOCOL_ERROR_CLOSE_CLIENT;
public abstract class AbstractConnectionClient extends AbstractClient {