java – 重播通过ActiveMQ发送的消息
是否有一种简单的方法来创建通过队列发送的每条消息的副本,以便在需要时,用户可以浏览以前传输的消息列表并通过单击按钮多次重播它们? 我有程序X发送消息到队列,程序Y然后读取它.我希望能够重播以前发送的消息,而不必返回到程序X并再次重新生成它. 最佳答案
如果你没有太多的消息或太多的队列,有很简单的入门方法.
首先,您可以将消息设置为“复制队列”.使用此策略,每个队列必须执行一次此操作.在activemq.xml中像这样
然后使用工具浏览COPY队列上的消息,如果需要,将它们重新发送到OUT队列.我喜欢Hermes JMS这样的工具. 如果你想要一些更有趣的东西,你可以在mirrored queues阅读. 还有另一种简单的方法可以轻松复制所有消息. 使用与activemq捆绑在一起的apache-camel.
这里一个非常重要的方面是,如果存储所有消息,您的服务器将随着时间的推移而填满.我建议你在ActiveMQ memory management阅读,或者只是在给定的时间范围内保留邮件副本.这可以是自动的,因为发送系统实际上可以设置message expiry,以便在数天/周/月之后自动删除消息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |