繁体   English   中英

如何在Activemq中保存消息和主题?

[英]How to save messages and Topics in Activemq?

我在Activemq有2条消息的QueueTopic 。如果重新启动Activemq 。我将丢失消息,也将丢失Topic

即使重新启动Activemq ,我也不想丢失任何来自TopicQueue消息。这是可能的。

我正在使用Activemq 5.8.0

生产者产生消息并将其发送到主题,那时在该时间点运行的消费者都会收到该消息。 如果希望现在尚未启动但将来可能正在运行的使用者获得此消息,则必须告诉Broker保留该消息并存储该特定使用者尚未收到该消息的信息。

如果您的工作代码没有持久订阅者,则必须进行以下更改。

在消费者中
1.设置clinetId。 因为Topic应该知道哪个消费者还没有收到消息。 或已收到消息。

Connection.setClientID(String)

2.应该为您的主题创建一个持久订阅者

Connection.createDurableSubscriber()

3.将您的侦听器添加到该订户。

subscriber.setMessageListener(yourlistener)

4.收到消息后,您必须确认它

该链接显示了它是如何完成的:但是我猜它在C#中。

http://myadventuresincoding.wordpress.com/2011/08/16/jms-how-to-setup-a-durablesubscriber-with-a-messagelistener-using-activemq/

阅读这些链接以获取更多信息:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM