Java MQTTPAHomeMessageHandler和重新连接速率管理
我们注意到一些使用Spring与MQTT集成的应用程序在短时间间隔内经历了大量的重新连接尝试,导致我们使用的代理出现问题。我认为问题的一部分在于MQTTPAHomeMessageHandler似乎没有使用任何连接退避算法。对于入站连接,MqttPahoMessageDrivenChannelAdapter似乎使用了一个常量回退(例如recoveryInterval),我认为Paho的较新版本(>=1.1)支持指数回退。使用MQTTPAHomeMessageHandler,似乎每个消息发布都会导致新的连接尝试(如果尚未连接) 在我们的环境中,我们看到了以下场景:Java MQTTPAHomeMessageHandler和重新连接速率管理,java,spring,spring-integration,mqtt,Java,Spring,Spring Integration,Mqtt,我们注意到一些使用Spring与MQTT集成的应用程序在短时间间隔内经历了大量的重新连接尝试,导致我们使用的代理出现问题。我认为问题的一部分在于MQTTPAHomeMessageHandler似乎没有使用任何连接退避算法。对于入站连接,MqttPahoMessageDrivenChannelAdapter似乎使用了一个常量回退(例如recoveryInterval),我认为Paho的较新版本(>=1.1)支持指数回退。使用MQTTPAHomeMessageHandler,似乎每个消息发布都会导致
我想修改此行为,但首先想了解这是否是有意的设计决策?所有Spring集成出站端点都将尝试按需连接
您可以添加一个选项来防止出现这种情况。当检测到可配置数量的故障时,断路器断开,后续尝试将快速失败。一段时间后,断路器半开,允许进行尝试;如果失败,它会再次打开。我想这个问题最好直接放在项目上(通过他们的github页面?),而不是放在这里,因为这里可能是讨论您正在考虑的更改的正确场所。我根据这里的说明在这里发布:我将回顾一下。谢谢