23.3. アドレス設定を介してキューを設定

一部の属性は、特定のキューではなくアドレスワイルドカードを使用して定義されます。以下に、JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml ファイルにある address-setting エントリの例を示します。
<address-settings>
   <address-setting match="jms.queue.exampleQueue">
      <dead-letter-address>jms.queue.deadLetterQueue</dead-letter-address>
      <max-delivery-attempts>3</max-delivery-attempts>
      <redelivery-delay>5000</redelivery-delay>
      <expiry-address>jms.queue.expiryQueue</expiry-address>
      <last-value-queue>true</last-value-queue>        
      <max-size-bytes>100000</max-size-bytes>
      <page-size-bytes>20000</page-size-bytes>
      <redistribution-delay>0</redistribution-delay>
      <send-to-dla-on-no-route>true</send-to-dla-on-no-route>
      <address-full-policy>PAGE</address-full-policy>
   </address-setting>
</address-settings>
アドレス設定では、match 属性の文字列に一致するすべてのアドレスに対して適用される設定のブロックを提供できます。上記の例では、設定は、アドレス jms.queue.exampleQueue に完全一致するすべてのアドレスにのみ適用されますが、ワイルドカードを使用して多くのアドレスに対して設定セットを適用することもできます。使用されるワイルドカード構文は、11章HornetQ ワイルドカード構文について で説明されています。
たとえば、match 文字列 jms.queue.# を使用した場合、設定は、JMS キューである jms.queue. で始まるすべてのアドレスに適用されます。
特定の設定の意味については、ユーザーマニュアル全体で詳しく説明されます。ここでは、簡単な説明を適切な章 (存在する場合) へのリンクとともに示します。
max-delivery-attempts
キャンセルされたメッセージを dead-letter-address に送信する前に、そのメッセージを再配信できる回数を定義します。完全な説明については、「死亡したレターアドレスの設定」 を参照してください。
redelivery-delay
キャンセルされたメッセージの再配信を施行するまで待機する時間を定義します。「遅延再配信の設定」 を参照してください。
expiry-address
期限が切れたメッセージを送信する場所を定義します。「期限切れアドレスの設定」 を参照してください。
last-value-queue
キューが最後の値のみを使用するかどうかを定義します。25章Last-Value キュー を参照してください。
max-size-bytes および page-size-bytes
アドレスでページングを設定するために使用されます。これについては、22章ページング を参照してください。
redistribution-delay
メッセージの再配信前に最後のコンシューマーが閉じられたときに待機する時間を定義します。「メッセージ再分散」 を参照してください。
send-to-dla-on-no-route
メッセージがアドレスに送信され、サーバーがメッセージをキューにルーティングしない場合 (たとえば、そのアドレスにバインドされたキューが存在しない場合や一致するフィルターを持つキューが存在しない場合)、メッセージは通常破棄されます。ただし、このアドレスに対してこのパラメーターが true に設定された場合、メッセージがどのキューにもルーティングされないと、このアドレスに対するメッセージは代わりに Dead Letter Address (DLA) に送信されます (存在する場合)。
address-full-policy
この属性には、PAGE、DROP、または BLOCK のいずれかの値を含めることができ、これにより、max-size-bytes が指定されたアドレスがいっぱいになったときの動作が決定されます。デフォルト値は PAGE です。値が PAGE の場合は、追加のメッセージがディスクにページングされます。
  • 値が DROP の場合、追加のメッセージはサイレント状態でドロップされます。
  • 値が BLOCK の場合、クライアントメッセージプロデューサーは追加のメッセージを送信しようとしたときにブロックされます。
詳細については、17章フロー制御22章ページング を参照してください。