[英]Removing old messages from ActiveMQ topics with WebSocket and Spring
[英]How to save messages and Topics in Activemq?
我在Activemq
有2条消息的Queue
和Topic
。如果重新启动Activemq
。我将丢失消息,也将丢失Topic
。
即使重新启动Activemq
,我也不想丢失任何来自Topic
和Queue
消息。这是可能的。
我正在使用Activemq 5.8.0
。
生产者产生消息并将其发送到主题,那时在该时间点运行的消费者都会收到该消息。 如果希望现在尚未启动但将来可能正在运行的使用者获得此消息,则必须告诉Broker保留该消息并存储该特定使用者尚未收到该消息的信息。
如果您的工作代码没有持久订阅者,则必须进行以下更改。
在消费者中
1.设置clinetId。 因为Topic应该知道哪个消费者还没有收到消息。 或已收到消息。
Connection.setClientID(String)
2.应该为您的主题创建一个持久订阅者
Connection.createDurableSubscriber()
3.将您的侦听器添加到该订户。
subscriber.setMessageListener(yourlistener)
4.收到消息后,您必须确认它
该链接显示了它是如何完成的:但是我猜它在C#中。
阅读这些链接以获取更多信息:
http://activemq.apache.org/how-do-durable-queues-and-topics-work.html http://activemq.apache.org/why-do-i-not-receive-messages-on-my -durable-topic-subscription.html http://activemq.apache.org/manage-durable-subscribers.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.