У меня есть система (назовем ее Системой A), которая позволяет пользователю включать определенные функции обработки.Когда эти функции активированы, Система A будет прослушивать сообщения от Системы B.
Система B в настоящее время отправляет эти сообщения в тему постоянно, независимо от того, прослушивает ли Система A.Эти сообщения не слишком дорого генерировать и отправлять, но, тем не менее, я бы хотел избежать их отправки, если система A не прослушивает.(Обратите внимание, что эти сообщения не должны быть долговечными, система A может запускать / останавливать прослушивание в любой момент и работать правильно.)
Я использую ActiveMQ в качестве посредника сообщений.
Я могусм. несколько возможных решений этой проблемы.
Создайте сообщение регистрации / подписки, которое Система A будет отправлять в Систему B. Я не совсем уверен, как часто это сообщение будет отправляться, иликакое состояние должно быть сохранено любой из сторон.
Положитесь на консультативные сообщения ActiveMQ, чтобы обнаружить отсутствие прослушивателей.
Настройте ActiveMQ, чтобы он был как можно более эффективным при отправке сообщений в очередь без прослушивателей (все еще, вероятно, требуется генерация сообщений).
Мне больше нравится идея № 1, но я 'У меня возникли проблемы с пониманием того, как это происходит вместе, без существенного увеличения сложности.