Paho 客户端超时,因为没有 activity

Paho client Timed out as no activity

我在使用 paho 客户端的应用程序中收到以下错误消息。出现此错误后,客户端停止接收消息。虽然不确定,但我想我仍然能够发布消息。

o.e.p.c.mqttv3.internal.ClientState      : 106ed26f-74f8-4048-9035-cb9146e35c7c:67c62857-af3c-4aa0-9f28-3f4db6baf811: Timed out as no activity, keepAlive=60,000 lastOutboundActivity=1,446,124,817,035 lastInboundActivity=1,446,124,826,676 time=1,446,124,936,865 lastPing=1,446,124,784,576

我发现了一些关于此问题的其他讨论,但大多数情况下他们没有使用 paho 客户端,而是使用使用 paho 客户端的库。我发现的所有讨论都同意该问题与 paho 有关,但没有给出解决方案。似乎错误发生在机器耗尽资源时。好像是死锁了。

我正在使用 paho 1.0.0。无论如何,这个错误在 paho 0.4.0 中也被报告过。

有什么想法吗?

参考资料: Spring Integration MQTT Subscriber (paho) stops processing messages https://github.com/openhab/openhab/issues/980

我从这个页面找到了一些信息https://www.eclipse.org/forums/index.php/t/1069297/ 像这样发布代码:

        MqttTopic mqttTopic =  client.getTopic(topic);
        mqttTopic.publish(message.getBytes(), 0, false);