Используя JMS, есть ли способ хранить сообщения на периодически отключенных клиентах и ​​пересылать их брокеру, когда сеть доступна?

Я рассматриваю архитектуру, в которой у меня есть клиенты, которые периодически подключаются к сети. Я хотел бы хранить сообщения, созданные на этих клиентах, в очереди JMS, когда сеть недоступна, и пересылать их центральному посреднику сообщений, когда клиенты находятся в сети. (Пользователь имеет контроль над сетью, например, набор номера, поэтому это не прерывистое соединение, как с мобильным телефоном.)

Существуют ли реализации JMS, которые предоставляют эту функцию?

2 ответа

Вы можете встраивать брокера activeMQ в свое приложение

http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html

Затем, я полагаю (не проверял), что вы могли бы использовать функции ActiveMQ, которые позволяют отправлять сообщения через сеть брокеров, используя функцию обнаружения брокеров,

http://activemq.apache.org/clustering.html

или просто добавив серверную очередь потребителя очереди, а затем отправив запрос через других посредников через этого потребителя.

Надеюсь, поможет.

Открытая очередь сообщений Glassfish может быть встроена (или запущена в автономном режиме) в версию 4.4 (Поддерживает возможность брокера запускать "в процессе" с любым клиентом.). Он очень легкий и будет поддерживать другие языки клиентов по протоколу STOMP в версии 4.4 - кроме Java и C. - https://mq.dev.java.net/4.4.html

Другие вопросы по тегам