20.8.2. JMS アドレスの設定

JMS サブシステムには、メッセージの配信方法および配信タイミング、配信試行回数、メッセージの有効期限などの側面を制御する複数の設定可能なオプションがあります。これらの設定オプションは、すべて <address-settings> 設定要素内に存在します。
アドレス設定の一般的な機能は、ワイルドカードとも呼ばれる複数のアドレスに一致する構文です。
ワイルドカード

アドレスワイルドカードを使用すると単一のステートメントで複数の似たアドレスを一致させることができます。これは、システムがアスタリスク ( * ) 文字を使用して 1 回の検索で複数のファイルや文字列を一致させることと似ています。以下の文字はワイルドカードステートメントでは特別な意味を持っています。

表20.5 JMX のワイルドカード構文

文字説明
. (ピリオド 1 つ)ワイルドカード表現で単語の間のスペースを意味します。
# (シャープまたはハッシュマーク)ゼロ以上の単語シーケンスと一致します。
* (アスタリスク)1 つの単語と一致します。

表20.6 JMS ワイルドカードの例

説明
news.europe.#
news.europenews.europe.sportnews.europe.politic と一致しますが、 news.usaeurope とは一致しません。
news.*
news.europe と一致しますが news.europe.sport とは一致しません。
news.*.sport
news.europe.sportnews.usa.sport とは一致しますが、news.europe.politics とは一致しません。

例20.2 デフォルトアドレス設定

この例の値は、このトピックの残りを説明するために使用されます。
<address-settings>
    <!--default for catch all-->
    <address-setting match="#">
        <dead-letter-address>jms.queue.DLQ</dead-letter-address>
        <expiry-address>jms.queue.ExpiryQueue</expiry-address>
        <redelivery-delay>0</redelivery-delay>
        <max-size-bytes>10485760</max-size-bytes>
        <address-full-policy>BLOCK</address-full-policy>
        <message-counter-history-day-limit>10</message-counter-history-day-limit>
    </address-setting>
</address-settings>

表20.7 JMS アドレス設定の説明

要素説明デフォルト値タイプ
address-full-policy
max-size-bytes が指定されたアドレスが満杯の場合に何が起こるかを決定します。
PAGE
STRING
dead-letter-address
無効なレターアドレスが指定された場合、max-delivery-attempts 配信試行が失敗すると、メッセージが無効なレターアドレスに移動されます。それ以外の場合、未配達のメッセージは破棄されます。ワイルドカードは許可されます。
jms.queue.DLQ
STRING
expiry-address
期限切れのアドレスが存在する場合、期限切れのメッセージは破棄されずに、一致するアドレスに送信されます。ワイルドカードは許可されます。
jms.queue.ExpiryQueue
STRING
last-value-queue
キューで最後の値のみを使用するかどうかを定義します。
false
BOOLEAN
max-delivery-attempts
dead-letter-address に送信する前、または破棄する前にメッセージを再配信する最大試行回数。
10
INT
max-size-bytes
最大バイトサイズ。
10485760L
LONG
message-counter-history-day-limit
メッセージカウンター履歴の日数制限。
10
INT
page-max-cache-size
ページングナビゲーション中に IO を最適化するためにメモリー内に保持するページファイルの数。
5
INT
page-size-bytes
ページングサイズ。
5
INT
redelivery-delay
メッセージの再配信試行間の遅延時間 (ミリ秒単位)。0 に設定された場合は、再配信が無限に試行されます。
0L
LONG
redistribution-delay
メッセージを再配信する前に最後のコンシューマーがキューで閉じられたときの待機時間を定義します。
-1L
LONG
send-to-dla-on-no-route
キューにルーティングされず、そのアドレスに指定された無効なレターアドレス (DLA) に送信されたメッセージの条件を設定するアドレスのパラメーター。
false
BOOLEAN
  • アドレス設定とパターン属性の設定

    管理 CLI または管理コンソールを選択して、必要に応じてパターン属性を設定します。
    • 管理 CLI を使用したアドレス設定

      管理 CLI を使用してアドレスを設定します。
      1. 新しいパターンの追加

        add 操作を使用して、新しいアドレス設定を作成します (必要な場合)。このコマンドは、管理 CLI セッションのルートから実行できます。この場合、以下の例では、 patternname というタイトルの新しいパターンが作成され、max-delivery-attempts 属性が 5 として宣言されます。full プロファイルのスタンドアロンおよび管理対象ドメインの編集例を以下に示します。
        [standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/address-setting=patternname/:add(max-delivery-attempts=5)
        [domain@localhost:9999 /] /profile=full/subsystem=messaging/hornetq-server=default/address-setting=patternname/:add(max-delivery-attempts=5)
      2. パターン属性の編集

        write 操作を使用して新しい値を属性に書き込みます。タブ補完を使用して、入力するコマンド文字列を補完したり、利用可能な属性を公開したりできます。以下の例は、max-delivery-attempts 値を 10 に更新します。
        [standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/address-setting=patternname/:write-attribute(name=max-delivery-attempts,value=10)
        [domain@localhost:9999 /] /profile=full/subsystem=messaging/hornetq-server=default/address-setting=patternname/:write-attribute(name=max-delivery-attempts,value=10)
      3. パターン属性の確認

        include-runtime=true パラメーターを用いて read-resource 操作を実行し、値の変更を確認します。サーバーモデルでアクティブな現在の値をすべて表示します。
        [standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/address-setting=patternname/:read-resource
        [domain@localhost:9999 /] /profile=full/subsystem=messaging/hornetq-server=default/address-setting=patternname/:read-resource
    • 管理コンソールを使用したアドレスの設定

      管理コンソールを使用してアドレスを設定します。
      1. 管理対象ドメインまたはスタンドアロンサーバーの管理コンソールにログインします。
      2. 画面上部の Configuration タブを選択します。ドメインモードでは、左上の Profile メニューからプロファイルを選択します。full および full-ha プロファイルのみ messaging サブシステムが有効になっています。
      3. Messaging メニューを展開し、Destinations を選択します。
      4. JMS プロバイダーのリストが表示されます。デフォルトの設定では、default という名前の 1 つのプロバイダーだけが表示されます。View をクリックして、このプロバイダーの詳細な設定を表示します。
      5. Address Settings タブをクリックします。Add をクリックして新しいパターンを追加するか、既存のパターンを選択して Edit をクリックし、設定を更新します。
      6. 新しいパターンを追加する場合、Pattern フィールドは address-setting 要素の match パラメーターを参照します。また、Dead Letter AddressExpiry AddressRedelivery Delay、および Max Delivery Attempts を編集することもできます。他のオプションは、管理 CLI を使用して設定する必要があります。