2013-12-20 1 views
0

Время от времени нам нужно прочитать «копию» сообщения из очереди JMS и сохранить его в хранилище данных (например, ElasticSearch) ,
В корпоративном ландшафте, когда System-A отправляет XML-сообщение в System-B через JMS-очередь, если другая System-C может исследовать и ПРОЧИТАТЬ КОПИЮ сообщения msg (не удалять его из очереди JMS после прочтения, а просто читать копию сообщения)
и сохранить его для аудита/поиска/анализа, например. в хранилище данных ElasticSearch. Затем мы можем проводить аудит/поиск-анализ данных с помощью Kibana поверх Elasticsearch.Прочитать vs Скопировать сообщение из очереди JMS. Использовать logstash в ES

Итак, вопрос в том, что мы можем использовать Logstash или плагин logstash для чтения JMS-сообщений, но не можем просто прочитать копию сообщения. Есть какой-либо способ сделать это ?

logstash-plugin -> read frm JMS queue -> отправить его в ES -> Использовать Kibana для анализа данных из ES.

ответ

0

Если вы использовали тему JMS вместо очереди, вы можете написать сообщение в тему, и система B и System C подписываются и потребляют сообщение.

См:

JMS Topic vs Queues

How to "copy" a JMS message to 2 destinations?

UPDATE: Из разговора с оригинальным плакатом они не могут двигаться архитектурой в темы, так что я предложил композитное/виртуальное назначение.

http://activemq.apache.org/composite-destinations.html

http://activemq.apache.org/virtual-destinations.html

Смежные вопросы