我仍然在學習這個activemq和jms的東西。 我已經嘗試過一些例子,現在我可以產生和使用來自隊列/主題的消息。
現在我有一個問題,當我的客戶端/客戶端丟失連接時,隊列/主題中的消息仍然發出該消息,該消息將丟失並且不保留在隊列/主題中。所以我的問題是我如何能夠保留這個失敗的消息,以及如何讓代理重新發送該消息?
感謝ActiveMQ如何保持未能發送給消費者隊列/主題的消息?
回答
您術語混合了一點事情。
隊列將持有消息直到消耗或代理重新啓動,除非該消息已被標記爲持久性,在這種情況下,即使在代理重新啓動後,它們也會一直存在。
主題只將當前消息傳遞給任何當前訂閱者。但是,您可以使用幾種方法持久發佈到主題的郵件:
- 持久訂閱者。
- Virtual Destinations。
虛擬主題通常比持久訂閱者更受歡迎,但它實際上取決於用例。
你如何創建一個持久訂閱者取決於你用來創建訂閱者(Spring,POJO,一些其他的API?)。所有的方法都會在某個時候調用Session.createDurableSubscriber
方法,但我建議閱讀它們在通過虛擬主題或複合隊列選擇之前的行爲方式。
您正在尋找可能Durable subscription
你可以找到相同的文件在http://activemq.apache.org/how-do-durable-queues-and-topics-work.html
感謝您的回覆。我怎樣才能讓消費者成爲耐用消費者? – 2014-12-05 16:38:53
我同意Erik的回答,你可以看看 – Vihar 2014-12-06 04:55:23
- 1. ActiveMQ - 將消息發送給特定的消費者
- 2. 消息在虛擬主題不是由消費者隊列
- 3. 向ActiveMQ中的多個消費者發送消息
- 4. Apache Kafka如何將消息發送給多個消費者組?
- 5. 生產者發送消息給ActiveMQ代理的消息發送超時
- 6. 如何將消息從ESB的主題發送到消息代理的隊列
- 7. 如何限制ActiveMQ JMS隊列中消費者的數量
- 8. Apache的駱駝發送消息JMS消費者接收消息
- 9. JMS消息生產者不會將消息發送到隊列
- 10. 多主題消息隊列
- 11. 消費者過濾的生產者 - 消費者阻塞隊列
- 12. ActiveMQ:死信隊列保持我的消息順序
- 13. 配置ActiveMQ:如何使用Node.js發送消息到Apache ActiveMQ隊列
- 14. Google PubSub:如何自定義消息分發給消費者?
- 15. RabbitMQ消費者沒有收到生產者發送的消息
- 16. ServiceMix,Apache ActiveMQ,駱駝發送「完成」消費消息
- 17. 使用ActiveMQ隊列消費羣集
- 18. RabbitMQ從多個消費者隊列序列化消息
- 19. rabbitmq:消息不被消費者使用,但發佈者能夠發佈消息
- 20. ActiveMQ消費者掛起
- 21. activemq消費者枚舉
- 22. 來自一個ActiveMQ隊列的幾個消費者
- 23. activeMQ多個消費者問題
- 24. 隊列消息/消費者組的工作流程?
- 25. 如何發送消息到Android主題
- 26. 無法創建ActiveMQ隊列或使用java發送消息
- 27. 非Spring雲流(SCS)生產者發送JSON消息給SCS消費者
- 28. JMS的ActiveMQ的主題緩慢消費者
- 29. SQS隊列並行處理消息使用sqs消費者nodejs
- 30. JBoss消息隊列卡住,遠程接口和MDB消費者
謝謝。那麼,我怎樣才能讓諸如從經紀人到消費者的「保證交貨」? – 2014-12-09 16:36:32
確保它是作爲持久性消息生成的。此外,你會想看看某種形式的客戶端確認或交易。 – 2014-12-17 14:26:44