我们有:一个转换器,该转换器从mqtt主题获取消息,进行解析,处理,并在经过特定验证后将其发送到其他消息传递系统。如果目标系统无法访问,我们将创建一个特定事件,并通过注入的 org.springframework.context.ApplicationEventPublisher 实例发送该事件。
我们希望::在目标消息传递系统不可用的情况下,能够暂停(然后在以后恢复)入站MQTT适配器的使用。
我们确实有对这些适配器的引用的集合,并且希望编写实现 ApplicationListener 的“ Toggler”,并基于事件暂停或恢复使用。
与任何 MessageProducerSupport 实例一样,MqttPahoMessageDrivenChannelAdapter具有受保护的 doStart()和 doStop()方法。一个人应该尝试将其用于暂停/恢复吗?
答案 0 :(得分:1)
MessageProducerSupport
扩展了AbstractEndpoint
,该SmartLifecycle
用公共start()
和stop()
实现了{{1}}。您可以简单地调用它们以停止从MQTT轮询消息,并在需要时重新启动。