19.2. 死亡したレターアドレス
クライアントが同じ未配信メッセージを無限に受け取らないようにするために (失敗した配信の原因に関係なく)、メッセージングシステムは、死亡したレターアドレスを定義します。指定された配信失敗試行回数後に、メッセージは、キューから削除され、代わりに死亡したレターアドレスに送信されます。
このようなすべてのメッセージは 1 つ以上のキューに迂回できます。これらのメッセージは実行するアクションのためにシステム管理者が後で確認できます。
HornetQ アドレスには、死亡したレターアドレスを割り当てることができます。メッセージは、該当する試行回数配信されないと、キューから削除され、死亡したレターアドレスに送信されます。これらの死亡したレターメッセージは、後で調査のために消費できます。
19.2.1. 死亡したレターアドレスの設定
死亡したレターアドレスは
address-setting
設定で定義されます。
<!-- undelivered messages in exampleQueue will be sent to the dead letter address deadLetterQueue after 3 unsuccessful delivery attempts--> <address-setting match="jms.queue.exampleQueue"> <dead-letter-address>jms.queue.deadLetterQueue</dead-letter-address> <max-delivery-attempts>3</max-delivery-attempts> </address-setting>
dead-letter-address
が指定されない場合、メッセージは max-delivery-attempts
の失敗回数後に削除されます。
デフォルトでは、メッセージは最大 10 回再配信されます。再配信を無限に行う場合は、
max-delivery-attempts
を -1
に設定します。
死亡したレターアドレスは、一致するアドレスセットに対してグローバルで設定できます。このアドレスにのみ無限の再配信を可能にする特定のアドレス設定の場合は、
max-delivery-attempts
を-1
に設定します。
アドレスワイルドカードは、アドレスセットに対して死亡したレター設定を行うために使用できます (11章HornetQ ワイルドカード構文について を参照)。