Java 如果有效负载超过200MB,MQTT上的消息会收到两次和三次

Java 如果有效负载超过200MB,MQTT上的消息会收到两次和三次,java,eclipse,mqtt,paho,Java,Eclipse,Mqtt,Paho,我正在运行Paho Java客户端附带的示例: 无论是他们自己的示例,还是来自其他来源的独立hello world Paho演示,甚至是与Spring Integration结合使用,如果负载超过200MB,客户端都会多次收到消息(这不是一个确切的数字,因为我通过逐条消息逐渐增加负载5MB进行测试) 我的经纪人是莫斯奎托。 我尝试了所有的QOS配置,仍然是一样的 值得注意的是,在使用相同的设置处理Paho Python库时,不会发生这种情况。因此,我的环境(网络、代理、发布客户端等)应该很好。

我正在运行Paho Java客户端附带的示例:

无论是他们自己的示例,还是来自其他来源的独立hello world Paho演示,甚至是与Spring Integration结合使用,如果负载超过200MB,客户端都会多次收到消息(这不是一个确切的数字,因为我通过逐条消息逐渐增加负载5MB进行测试)

我的经纪人是莫斯奎托。 我尝试了所有的QOS配置,仍然是一样的


值得注意的是,在使用相同的设置处理Paho Python库时,不会发生这种情况。因此,我的环境(网络、代理、发布客户端等)应该很好。

这听起来更像是一个bug报告,而不是一个问题,你最好在邮件列表或bug追踪器上提出这个问题:

邮寄名单:


bug追踪器:

我已经找到了。虽然我永远不能百分之百确定,但这是一个bug。如果我缺少一些参数怎么办?这就是为什么这么做的原因。询问图书馆的开发人员肯定会是一个更好的主意吗?没有足够的信息来回答这个问题。您能否提供:Paho版本号,您正在使用的客户机代码的分条副本?您是否有任何日志可以显示,这些日志涉及消息大小的问题,或者显示多次错误接收相同消息?你试过使用不同的经纪人吗?或者正如@hardillb在回答中指出的,这可能是泛美卫生组织的一个缺陷。MQTT并不是真正为用于大型消息而设计的。我看到你在他们的bugzilla上打开了一个bug。人们可能需要一段时间才能抽出时间来修理它,但他们通常最终都会修好。泛美卫生组织的发布计划今年会更快,所以你可能会看到它得到一些关注。