有时,我们发现需要从JMS队列中读取msg的“副本”并将其存储在数据存储(例如ElasticSearch)中。
在企业版本中,当System-A通过JMS队列向系统-B发送XML消息时,如果另一个System-C可以探测并读取消息的复制(在读取后不将其从JMS队列中删除,而只是读取副本) of msg)
并将其存储用于审计/搜索/分析,例如。在ElasticSearch数据存储区中。然后我们可以在Elasticsearch上使用Kibana对数据进行审计/搜索分析。
所以问题是 - 我们可以使用Logstash或logstash插件来读取JMS消息,但不能只读取消息的副本。有没有办法做到这一点?
logstash-plugin - >读取frm JMS队列 - >发送给ES - >使用Kibana分析来自ES的数据。
答案 0 :(得分:0)
如果您使用JMS主题而不是队列,则可以将消息写入主题,并让系统B和系统C都订阅并使用消息。
请参阅:
How to "copy" a JMS message to 2 destinations?
更新:通过与原始海报交谈,他们无法将架构移至主题,因此我建议使用复合/虚拟目的地。