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

Does Eclipse Paho Mqtt Client persist all the published messages published till they are ACKed for delivery by the broker under QoS-2?

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

更新 自 paho android 服务版本 1.1.0 以来,实现了自动重新连接和离线缓冲功能。更多信息:https://www.eclipse.org/paho/clients/android/

来自 javadoc for MqttClient

By default MqttDefaultFilePersistence is used to store messages to a file. If persistence is set to null then messages are stored in memory and hence can be lost if the client, Java runtime or device shuts down.

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

更新

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