如何避免在Mqtt中发布太多错误?

时间:2014-01-10 05:26:58

标签: java protocols mqtt

我们正在使用mqtt协议通过Java应用程序发布消息。 此应用程序正在通过具有有限处理速度和内存的RPI计算机运行。 在mqtt上,我们每20秒发布一次状态消息 此消息已正确发布几个小时,但它一次开始发布4状态消息,有时会在过程中发布过多的错误。 如果有人可以解释为什么会发生这么多发布以及我们如何避免这种情况会有所帮助呢?

由于

1 个答案:

答案 0 :(得分:2)

由于在低内存环境中对MQTT进行连续发布,因为RPi(Raspberry Pi)配备了512 Mb的RAM,可能会导致此问题。 一种解决方案是将此服务的服务质量QoS设置为0(零)。这可以使用方法

来实现
MqttMessage message = new MqttMessage();
message.setQos(0);
....

设置QoS 0不会确认传输的消息,因此可以节省内存。有关QoS的更多信息,请查看以下链接http://www.eclipse.org/paho/files/mqttdoc/Cclient/qos.html

祝你好运......