暂停和恢复MQTT入站适配器

时间:2019-03-06 10:48:31

标签: spring-integration spring-integration-mqtt

我们有:一个转换器,该转换器从mqtt主题获取消息,进行解析,处理,并在经过特定验证后将其发送到其他消息传递系统。如果目标系统无法访问,我们将创建一个特定事件,并通过注入的 org.springframework.context.ApplicationEventPublisher 实例发送该事件。

我们希望::在目标消息传递系统不可用的情况下,能够暂停(然后在以后恢复)入站MQTT适配器的使用。

我们确实有对这些适配器的引用的集合,并且希望编写实现 ApplicationListener 的“ Toggler”,并基于事件暂停或恢复使用。

与任何 MessageProducerSupport 实例一样,MqttPahoMessageDrivenChannelAdapter具有受保护的 doStart() doStop()方法。一个人应该尝试将其用于暂停/恢复吗?

1 个答案:

答案 0 :(得分:1)

MessageProducerSupport扩展了AbstractEndpoint,该SmartLifecycle用公共start()stop()实现了{{1}}。您可以简单地调用它们以停止从MQTT轮询消息,并在需要时重新启动。