我们正在使用mqtt协议通过Java应用发布消息。该应用正在通过RPI计算机运行,处理速度和内存有限。在mqtt上,我们每20秒发布一次状态消息。此消息已正确发布了几个小时,但是随后一次开始发布4条状态消息,有时会发出太多正在处理的错误。如果有人可以解释为什么要进行如此多的发布以及我们如何避免这种情况,那将是有帮助的。
谢谢
由于在低内存环境下在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
祝好运 ...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句