2015-10-30 320 views
2

我的应用程序使用paho客户端时出现以下错误消息。发生此错误后,客户端停止接收消息。虽然不确定,但我认为我仍然可以发布消息。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 1.0.0。总之,这个错误在paho 0.4.0中也有报道。

有什么想法吗?

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

回答

1

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

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

我不明白为什么这会解决这个问题。我更改了代码。如果我看到这个问题,我会给你答案,但这需要时间。 –

+0

就我而言,它确实解决了这个问题。奇怪。 (V1.0.2) – lenhuy2106