0

有时,我们发现需要从 JMS 队列中读取 msg 的“副本”并将其存储在数据存储中(例如 ElasticSearch)。
在企业环境中,当 System-A 通过 JMS 队列向 System-B 发送 XML msg 时,如果另一个 System-C 可以探测并读取 msg 的副本(在读取后不将其从 JMS 队列中删除,而只是读取副本的味精)
并将其存储以供审核/搜索/分析,例如。在 ElasticSearch 数据存储中。然后我们可以在 Elasticsearch 之上使用 Kibana 对数据进行审计/搜索分析。

所以问题是 - 我们可以使用 Logstash 或 logstash 插件来读取 JMS 消息,但不能只读取消息的副本。有没有办法做到这一点?

logstash-plugin --> 读取 frm JMS queue --> 发送到 ES --> 使用 Kibana 分析来自 ES 的数据。

4

1 回答 1

0

如果您使用 JMS 主题而不是队列,您可以将消息写入主题并让系统 B 和系统 C 订阅和使用该消息。

看:

JMS 主题与队列

如何将 JMS 消息“复制”到 2 个目的地?

更新:与原始海报交谈后,他们无法将架构移至主题,因此我建议使用复合/虚拟目的地。

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

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

于 2013-12-30T16:25:13.730 回答