Java Springboot MQTT IoT AWS连接丢失,EOF异常

时间:2020-10-04 06:53:52

标签: spring spring-boot mqtt aws-iot

我正在使用Java Springboot并使用AWS IoT。我已经创建了一个AWS IoT东西,并且正在尝试使用提供的aws sdk进行连接。我对MQTT并不熟悉,因为这是我第一次,并且不确定为什么会丢失连接。通过选择Thing,然后选择“交互”选项卡,从aws控制台获取客户端端点。我也使用自动生成的AWS证书生成了证书和密钥。我仅测试初始连接,因此不应连接其他设备。

org.eclipse.paho.client.mqttv3.MqttException:连接丢失 在org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:190)〜[org.eclipse.paho.client.mqttv3-1.2.2.jar:na] 在java.base / java.lang.Thread.run(Thread.java:832)〜[na:na] 引起原因:java.io.EOFException:null 在java.base / java.io.DataInputStream.readByte(DataInputStream.java:271)〜[na:na] 在org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:92)〜[org.eclipse.paho.client.mqttv3-1.2.2.jar:na] 在org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:137)〜[org.eclipse.paho.client.mqttv3-1.2.2.jar:na] ...省略了1个常见框架

我想找出MQTT连接丢失的可能原因是什么,有什么方法可以调试以找出连接丢失的原因。

1 个答案:

答案 0 :(得分:0)

我在通过 mqtt 连接 IOT 时也遇到同样的异常。


! java.io.EOFException: null
! at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[na:1.8.0_242]
! at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:92) ~[org.eclipse.paho.client.mqttv3-1.2.2.jar:na]
! at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:137) [org.eclipse.paho.client.mqttv3-1.2.2.jar:na]
! ... 1 common frames omitted
! Causing: org.eclipse.paho.client.mqttv3.MqttException: Connection lost
! at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:190) [org.eclipse.paho.client.mqttv3-1.2.2.jar:na]
! at java.lang.Thread.run(Thread.java:748) [na:1.8.0_242]

当我为每个与 mqtt 连接的客户端生成唯一的 clientId 时,错误得到解决。