Приостановка и возобновление входящего адаптера MQTT - PullRequest
0 голосов
/ 06 марта 2019

У нас есть: конвертер, который принимает сообщения из тем mqtt, анализирует, обрабатывает их и после определенных проверок отправляет их в другую систему обмена сообщениями. Если целевая система недоступна, мы создаем определенное событие и отправляем его через внедренный экземпляр org.springframework.context.ApplicationEventPublisher .

Мы хотели бы: в случаях, когда целевая система обмена сообщениями недоступна, чтобы иметь возможность приостановить (а затем возобновить) потребление наших входящих адаптеров MQTT.

У нас есть коллекция ссылок на эти адаптеры, и мы хотели бы написать «Toggler», который реализует ApplicationListener и основан на событии, либо приостанавливает, либо возобновляет потребление.

Как и любой экземпляр MessageProducerSupport , MqttPahoMessageDrivenChannelAdapter имеет защищенные методы doStart () и doStop () . Стоит ли пытаться использовать их в целях приостановки / возобновления?

1 Ответ

1 голос
/ 06 марта 2019

MessageProducerSupport расширяет AbstractEndpoint, который реализует SmartLifecycle с открытыми start() и stop(). Вы можете просто вызвать их, чтобы прекратить опрашивать сообщения из MQTT и перезапустить, когда вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...