关于#MQTT#的问题,如何解决?断线重连失败 Client is connected

mqtt配置:

<context:property-placeholder
        location="classpath:yimimqtt.properties" ignore-unresolvable="true" />

    <!--MQTT配置 -->
    <bean id="clientFactory"
        class="org.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory">
        <property name="userName" value="${mqtt.username}" />
        <property name="password" value="${mqtt.password}" />
        <property name="cleanSession" value="${mqtt.cleanSession}" />
        <property name="connectionTimeout" value="10" />
        <property name="keepAliveInterval"
            value="${mqtt.keepAliveInterval}" />
        <property name="serverURIs">
            <array>
                <value>${mqtt.serverURI1}</value>
            </array>
        </property>
        
    </bean>

    <bean id="mqttHandler"
        class="org.springframework.integration.mqtt.outbound.MqttPahoMessageHandler">
        <constructor-arg name="clientId"
            value="${mqtt.clientId}" />
        <constructor-arg name="clientFactory"
            ref="clientFactory" />
        <property name="async" value="${mqtt.async}" />
        <property name="defaultQos" value="${mqtt.defaultQos}" />
        <property name="completionTimeout"
            value="${mqtt.completionTimeout}" />
        <!-- <property name ="connectionLost" ref="myConnectionLost"/> -->
    </bean>
    <!-- <bean id="myConnectionLost" ></bean> -->
    <!-- 消息适配器 -->
    <int-mqtt:message-driven-channel-adapter
        id="mqttInbound" client-id="${mqtt.clientId}" url="${mqtt.serverURI1}"
        topics="${mqtt.top.topic}" qos="${mqtt.defaultQos}"
        client-factory="clientFactory" auto-startup="true"
        send-timeout="${mqtt.completionTimeout}" channel="startCase" />
    <int:channel id="startCase" />
    <!-- 消息处理类 -->
    <int:service-activator id="handlerService"
        input-channel="startCase" ref="mqttCaseService" method="handleMessage" />
    
    <!-- 消息处理 -->
    <bean id="mqttCaseService"
        class="com.common.communication.mqtt.service.impl.MqttServiceImpl" />


错误日志:

ERROR org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter - Error connecting or subscribing to [/sys/#]
org.eclipse.paho.client.mqttv3.MqttException: Client is connected
    at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:27) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:452) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:442) ~[mqtt-client-0.4.0.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.connectAndSubscribe(MqttPahoMessageDrivenChannelAdapter.java:194) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.access$300(MqttPahoMessageDrivenChannelAdapter.java:41) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter$1.run(MqttPahoMessageDrivenChannelAdapter.java:237) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022-04-22 01:16:50,836 [task-scheduler-6] ERROR org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter - Exception while connecting and subscribing
org.eclipse.paho.client.mqttv3.MqttException: Client is connected
    at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:27) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:452) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:442) ~[mqtt-client-0.4.0.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.connectAndSubscribe(MqttPahoMessageDrivenChannelAdapter.java:194) ~[spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.access$300(MqttPahoMessageDrivenChannelAdapter.java:41) ~[spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter$1.run(MqttPahoMessageDrivenChannelAdapter.java:237) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022-04-22 01:16:50,905 [task-scheduler-3] ERROR org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter - Error connecting or subscribing to [/sys/#]
org.eclipse.paho.client.mqttv3.MqttException: Client is connected
    at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:27) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:452) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:442) ~[mqtt-client-0.4.0.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.connectAndSubscribe(MqttPahoMessageDrivenChannelAdapter.java:194) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.access$300(MqttPahoMessageDrivenChannelAdapter.java:41) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter$1.run(MqttPahoMessageDrivenChannelAdapter.java:237) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022-04-22 01:16:50,934 [task-scheduler-3] ERROR org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter - Exception while connecting and subscribing
org.eclipse.paho.client.mqttv3.MqttException: Client is connected
    at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:27) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:452) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:442) ~[mqtt-client-0.4.0.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.connectAndSubscribe(MqttPahoMessageDrivenChannelAdapter.java:194) ~[spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.access$300(MqttPahoMessageDrivenChannelAdapter.java:41) ~[spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter$1.run(MqttPahoMessageDrivenChannelAdapter.java:237) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022-04-22 01:16:51,043 [task-scheduler-10] ERROR org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter - Error connecting or subscribing to [/sys/#]
org.eclipse.paho.client.mqttv3.MqttException: Client is connected
    at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:27) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:452) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:442) ~[mqtt-client-0.4.0.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.connectAndSubscribe(MqttPahoMessageDrivenChannelAdapter.java:194) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.access$300(MqttPahoMessageDrivenChannelAdapter.java:41) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter$1.run(MqttPahoMessageDrivenChannelAdapter.java:237) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2022-04-22 01:16:51,052 [task-scheduler-10] ERROR org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter - Exception while connecting and subscribing
org.eclipse.paho.client.mqttv3.MqttException: Client is connected
    at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:27) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:452) ~[mqtt-client-0.4.0.jar:?]
    at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:442) ~[mqtt-client-0.4.0.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.connectAndSubscribe(MqttPahoMessageDrivenChannelAdapter.java:194) ~[spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter.access$300(MqttPahoMessageDrivenChannelAdapter.java:41) ~[spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter$1.run(MqttPahoMessageDrivenChannelAdapter.java:237) [spring-integration-mqtt-4.1.0.RELEASE.jar:?]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_321]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_321]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]