簡體   English   中英

JMS:如何將DLQ中的消息重新傳遞給主題訂戶?

[英]JMS: how to redeliver messages in the DLQ to a Topic Subscriber?

我不了解使用JMS主題時如何處理錯誤消息。 我有一個包含4個訂閱者的持久性JMS主題。 我向該主題發送消息。 3個訂閱者成功使用了該消息,一個失敗。 重試后,郵件將被放入死信隊列(DLQ)。

問題是,如何從那里繼續。

  1. 如何找出哪個訂戶失敗了?

  2. 我如何只將郵件重新發送給該訂戶? 我不能再將它放在主題中,因為所有訂閱者都可以使用它。

是否有一些最佳實踐來處理這種情況?

如果那很重要,我可以將Glassfish 3.1.2與openMQ一起使用。 我寧願使用不是特定於消息傳遞提供程序實現的解決方案。

預先感謝您的回答。 干杯阿恩

好吧,我對openmq不太熟悉,但是許多jms提供程序都有能力將消息從主題轉發到隊列。 因此,消息生產者將消息發送到主題,然后jms提供者將消息的單獨副本轉發給每個使用者的單獨隊列。 每個消費者都有自己的DLQ。

有以下好處:

  1. 每個隊列使用者的有保證的SLA(例如,速度慢的使用者可能會減慢其他使用者的速度,以防出現單獨的隊列不是這樣)。
  2. 不會有任何用戶會丟失消息(具有持久訂閱的主題僅在您首次訂閱該主題后才傳遞消息)。
  3. 集群的一些問題可以輕松解決(集群環境中主題的訂戶(MDB),因為規則通常會收到與集群中節點數相同數量的消息)

暫無
暫無

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

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