簡體   English   中英

從ActiveMQ隊列中獲取消息而不會出列

[英]Fetch message from ActiveMQ queue without dequeueing

我從ActiveMQ隊列中獲取消息並運行可以成功或失敗的Java應用程序。

如果應用程序失敗,我希望消息保留在隊列中,即保持它不會出列。

有沒有辦法從隊列中自動刪除消息?

是否有從隊列中取出或從隊列中刪除的原子操作?

謝謝。

禁用消息的自動確認,然后在工作完成后手動調用message.acknowledge()。 如果拋出異常並因此未調用message.acknowlege(),則AMQ將嘗試再次傳遞消息。 如果所有嘗試都失敗,則消息最終放在死信隊列中。 可以配置此行為。

另一種方法是使用QueueBrowser 這允許您“查看隊列中的消息而不刪除它們”。 但是,這對於檢查來說更有用,從你描述的語義來看,mbelow的答案似乎是正確的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM