[英]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.