仅在订阅者应用程序重新启动时接收最后保留的消息。
操作系统:WindowsEMQ Broker版本:2.3.10Eclipse paho
当我发布10条关于同一主题的消息时,由于某种原因,订阅应用程序崩溃,在某个时间子应用程序重新启动后,我只收到最后一条保留消息,并丢失了所有其他数据,这是一个大问题。
我在pub和sub-上都设置了保留标志为true,干净会话标志为false,Qos为1
有人能帮上忙吗。我是否缺少任何配置,或者Erlang代理的行为就像只获取最后一条保留消息。
首先,MQTT代理将只保存发布到主题的最后一条消息,并为给定主题保留标志。保留的消息与脱机客户端的高QOS消息队列无关。有关保留消息的更多详细信息,我建议您查看HiveMQ 的这篇文章
至于为脱机客户端排队消息,您需要满足以下所有要点。
- 清除会话标志必须设置为
false
- 客户端ID在连接之间必须保持不变
- 该消息必须以QOS>0
- 客户端必须订阅具有QOS>0
有关持久性和排队消息的更多详细信息,请参阅另一篇HiveMQ文章。