0

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

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

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

作为MessageProducerSupport的任何实例,MqttPahoMessageDrivenChannelAdapter 具有受保护的doStart()doStop()方法。是否应该尝试将它们用于暂停/恢复目的?

4

1 回答 1

1

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

于 2019-03-06T15:47:31.567 回答