加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 重播通过ActiveMQ发送的消息

发布时间:2020-12-14 19:23:08 所属栏目:Java 来源:网络整理
导读:是否有一种简单的方法来创建通过队列发送的每条消息的副本,以便在需要时,用户可以浏览以前传输的消息列表并通过单击按钮多次重播它们? 我有程序X发送消息到队列,程序Y然后读取它.我希望能够重播以前发送的消息,而不必返回到程序X并再次重新生成它. 最佳答案

是否有一种简单的方法来创建通过队列发送的每条消息的副本,以便在需要时,用户可以浏览以前传输的消息列表并通过单击按钮多次重播它们?

我有程序X发送消息到队列,程序Y然后读取它.我希望能够重播以前发送的消息,而不必返回到程序X并再次重新生成它.

最佳答案
如果你没有太多的消息或太多的队列,有很简单的入门方法.

首先,您可以将消息设置为“复制队列”.使用此策略,每个队列必须执行一次此操作.在activemq.xml中像这样

    

然后使用工具浏览COPY队列上的消息,如果需要,将它们重新发送到OUT队列.我喜欢Hermes JMS这样的工具.

如果你想要一些更有趣的东西,你可以在mirrored queues阅读.

还有另一种简单的方法可以轻松复制所有消息.

使用与activemq捆绑在一起的apache-camel.
camel.xml中的此配置将实现所有消息自动复制到以FOO开头的队列.*
此路由需要一些复制队列名称的修复,但在priniple中它可用作窃听的一次性配置.

这里一个非常重要的方面是,如果存储所有消息,您的服务器将随着时间的推移而填满.我建议你在ActiveMQ memory management阅读,或者只是在给定的时间范围内保留邮件副本.这可以是自动的,因为发送系统实际上可以设置message expiry,以便在数天/周/月之后自动删除消息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读