Я новичок в ActiveMQ, поэтому у меня возникли вопросы ... Я собираюсь сделать клиент-серверное приложение, используя activemq на стороне сервера. Все клиенты отправляют сообщения, поэтому на сервере есть одна очередь, получающая сообщения от всех клиентов. Как я понимаю, это не проблема.Monitor activemq topic
Но есть еще одна вещь ... После получения сообщения сервер работает с ним и формирует ответное сообщение для КАЖДОГО входящего сообщения, и это сообщение должно быть доставлено для ВСЕХ клиентов, а не только для отправителя. И если в настоящий момент нет связи с каким-либо клиентом, когда соединение восстанавливается, клиент должен получить весь сервер сообщений, отправленный в течение времени, когда этот клиент находился в автономном режиме (без потерь).
Начиная с изучения ActiveMQ, я нашел решение: на сервере есть определенное количество «выходных очередей», и это число равно числу клиентов. Итак, после формирования ответа серверное приложение проходит через все «выходные очереди» и помещает сообщение в каждую очередь. В этом варианте клиент EACH имеет уникальный идентификатор и прослушивает свою OWN-очередь (со всеми ответами), поэтому на сервере мы можем отслеживать, какое количество сообщений каждый клиент получил (это преимущество). Но также, я думаю, это не лучшее решение (много одинаковых объектов в очередях + добавление вручную каждого клиента на стороне сервера - это недостатки).
Узнав больше о activemq, я нашел темы и прочные подписчики. Похож на то, что мне нужно для описанной проблемы. Но теперь мой вопрос: как я могу отслеживать сообщения темы? Я попробовал посмотреть его в инструменте администратора браузера, также в jconsole, но пока не вижу эти сообщения. Является ли это возможным? И любые вопросы на будущее - использует темы для этой проблемы? Или, может быть, лучше использовать определенное количество выходных очередей, как я описал?