错误报告
环境
- EMQX 版本:4.4.4
- 操作系统版本:Ubuntu 18.04 64位
重现此问题的步骤
- 通过docker安装emqx
- 运行mqtt程序可以正常连接并订阅消息
- 运行一段时间后无法连接到emqx
- 重启emqx和mqtt程序后可以恢复正常
预期行为
应该能够持续连接并订阅到消息
实际行为
2022-11-03 20:58:54.240 [MQTT Ping: mqttReceiveId_Customer_172.20.0.2] ERROR o.e.p.c.m.i.ClientState - [logToJsr47,210] - mqttReceiveId_Customer_172.20.0.2: Timed out as no activity, keepAlive=60,000,000,000 lastOutboundActivity=13,585,515,514,421,284 lastInboundActivity=13,585,455,513,791,432 time=13,585,575,514,421,878 lastPing=13,585,515,514,425,230
2022-11-03 20:58:54.240 [scheduling-1] ERROR o.s.i.m.i.MqttPahoMessageDrivenChannelAdapter - [error,261] - Error connecting or subscribing to [$share/group/$SYS/brokers/+/clients/+/connected, $share/group/$SYS/brokers/+/clients/+/disconnected, $share/group/config/products/+/devices/+/command, $share/group/event/products/+/devices/+/command, $share/group/reagent/products/+/devices/+/result, $share/group/sample/products/+/devices/+/command, $share/group/residue/products/+/devices/+/reagent, $share/group/residue/products/+/devices/+/common, $share/group/qc/products/+/devices/+/setting, $share/group/qc/products/+/devices/+/info, $share/group/qc/products/+/devices/+/test, $share/group/qc/products/+/devices/+/chart, $share/group/calibration/products/+/devices/+/setting, $share/group/calibration/products/+/devices/+/info, $share/group/calibration/products/+/devices/+/test, $share/group/calibration/products/+/devices/+/curve, $share/group/reagent/products/+/devices/+/register, $share/group/metric/products/+/devices/+/reboot]
org.eclipse.paho.client.mqttv3.MqttException: Timed out waiting for a response from the server
at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:31)
at org.eclipse.paho.client.mqttv3.internal.ClientState.checkForActivity(ClientState.java:747)
at org.eclipse.paho.client.mqttv3.internal.ClientComms.checkForActivity(ClientComms.java:818)
at org.eclipse.paho.client.mqttv3.internal.ClientComms.checkForActivity(ClientComms.java:804)
at org.eclipse.paho.client.mqttv3.TimerPingSender$PingTask.run(TimerPingSender.java:79)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
2022-11-03 20:59:24.241 [MQTT Ping: mqttReceiveId_Customer_172.20.0.2] ERROR o.s.i.m.i.MqttPahoMessageDrivenChannelAdapter - [error,250] - Lost connection: Timed out waiting for a response from the server; retrying…
2022-11-03 20:59:24.241 [scheduling-1] ERROR o.s.i.m.i.MqttPahoMessageDrivenChannelAdapter - [error,149] - Exception while connecting and subscribing
org.eclipse.paho.client.mqttv3.MqttException: Timed out waiting for a response from the server
at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:31)
at org.eclipse.paho.client.mqttv3.internal.ClientState.checkForActivity(ClientState.java:747)
at org.eclipse.paho.client.mqttv3.internal.ClientComms.checkForActivity(ClientComms.java:818)
at org.eclipse.paho.client.mqttv3.internal.ClientComms.checkForActivity(ClientComms.java:804)
at org.eclipse.paho.client.mqttv3.TimerPingSender$PingTask.run(TimerPingSender.java:79)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)