Eclipse Paho Mqtt Client是否会保留已发布的所有已发布消息,直到它们在QoS-2下被代理确认交付?

时间:2015-08-05 07:37:23

标签: java android mqtt paho

默认的PAHO MQTT实现是否会保留所有正在推送的消息,直到它们的传递在QoS 2中得到明确确认?或者如果不是如何通过我们自己实现这样的呢?

更新 自从paho android服务版本1.1.0自动重新连接和离线缓冲功能实现。有关详细信息:https://www.eclipse.org/paho/clients/android/

2 个答案:

答案 0 :(得分:6)

来自MqttClient的javadoc

  

默认情况下,MqttDefaultFilePersistence用于将消息存储到文件中。如果持久性设置为null,则消息将存储在内存中,因此如果客户端,Java运行时或设备关闭,则可能会丢失。

这意味着只要您正确设置路径并拥有正确的Android权限以写入本地存储,QOS2消息就应该保留,直到交付给代理(而不是最终订阅者)。

答案 1 :(得分:0)

<强>更新

由于paho android服务版本1.1.0自动重新连接和离线缓冲已实现。请参阅:https://www.eclipse.org/paho/clients/android/