我已经在春季使用spring mqtt集成配置了MQTT订户。在handleMessage方法中,我正在执行某些需要时间的业务逻辑。在测试期间,我注意到当我发送大量消息时,Broker重新发布了与原始消息相同的消息(我检查了消息有效载荷是否重复,它是作为原始消息发送的)。 MQTT经纪人将再次发布消息,甚至在订阅者可以发送PUCOMP之前。 QOS级别设置为2
答案 0 :(得分:0)
您不应在handleMessage
回调中执行长时间运行的任务,因为它是在MQTT Clients网络线程上运行的。
如果您的任务运行时间较长,则应将其交给一个单独的线程池来运行。