18.8.2. JMS アドレスの設定
JMS サブシステムには、メッセージの配信方法およびタイミング、試行回数、メッセージの有効期限などの側面を制御するいくつかの設定可能なオプションがあります。これらの設定オプションはすべて、<
address-settings
> 設定要素内に存在します。
アドレス設定の一般的な機能は、ワイルドカードとも呼ばれる複数のアドレスに一致する構文です。
ワイルドカード構文
アドレスワイルドカードを使用すると、1 つのステートメントで複数の同様のアドレスを照合できます。これは、システムがアスタリスク( *)文字を使用して 1 つの検索で複数のファイルまたは文字列を照合するのと似ています。以下の文字はワイルドカードステートメントに特別な意味を持ちます。
文字 | 説明 |
---|---|
. (シングルピリオド) | ワイルドカード式で単語と単語の間を示す。 |
# (ポンドまたはハッシュ記号) | 0 個以上の連続する単語に相当する。 |
* (アスタリスク) | 1 つの単語と一致します。 |
例 | 説明 |
---|---|
news.europe.# | news.europe 、news.europe.sport 、news.europe.politic と一致しますが、news.usa や europe は一致しない。
|
news.* | news.europe と一致しますが、news.europe.sport は一致しない。
|
news.*.sport | news.europe.sport と news.usa.sport と一致しますが、news.europe.politics は一致しない。
|
例18.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>
要素 | 説明 | デフォルト値 | Type |
---|---|---|---|
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
|
slow-consumer-threshold
|
コンシューマーが「低速」とみなされる前に許可されるメッセージ消費の最小レート。 1 秒あたりのメッセージで測定されます。
|
-1
|
INT
|
slow-consumer-policy
|
低速なコンシューマーが検出されたときに何が起こるか。
KILL はコンシューマーの接続を強制終了します(これは、同じ接続を使用する他のクライアントスレッドに明らかに影響を与えます)。NOTIFY は、アプリケーションが対応してアクションを実行できる CONSUMER_SLOW 管理通知を送信します。
| |
STRING
|
slow-consumer-check-period
|
特定のキューで低速なコンシューマーをチェックする頻度。測定(秒単位)。
|
5
|
INT
|
アドレス設定とパターン属性の設定
管理 CLI または管理コンソールを選択して、必要に応じてパターン属性を設定します。管理 CLI を使用したアドレス設定
管理 CLI を使用してアドレスを設定します。新しいパターンの追加
必要に応じて add 操作を使用して新規アドレス設定を作成します。管理 CLI セッションのルートからこのコマンドを実行できます。以下の例では、patternname という名前の新しいパターンを作成し、max-delivery-attempts
属性を 5 として宣言します。完全な
プロファイルで編集しているスタンドアロンサーバーと管理対象ドメインの両方の例が表示されます。[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)
パターン属性の編集
書き込み 操作を使用して、新しい値を属性に書き込みます。タブ補完を使用すると、入力時のコマンド文字列の補完に役立つほか、利用可能な属性を明らかにできます。以下の例は、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)
パターン属性の確認
値が変更されたことを確認するには、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
管理コンソールを使用したアドレスの設定
管理コンソールを使用してアドレスを設定します。- 管理対象ドメインまたはスタンドアロンサーバーの管理コンソールにログインします。
- 画面上部の Configuration タブを選択します。ドメインモードの場合は、左上の Profile メニューからプロファイルを選択します。
full
およびfull-ha
プロファイルのみがmessaging
サブシステムが有効になっています。 - Messaging メニューを展開し、Destinations を選択します。
- JMS プロバイダーの一覧が表示されます。デフォルト設定では、
default
という 1 つのプロバイダーのみが表示されます。View をクリックして、このプロバイダーの詳細な設定を表示します。 - Address Settings タブをクリックします。 をクリックして新しいパターンを追加するか、既存のパターンを選択して をクリックして設定を更新します。
- 新しいパターンを追加する場合、Pattern フィールドは
address-setting
要素のmatch
パラメーターを参照します。デッドレターアドレス、Expiry Address 、Redelivery Delay、および Max Delivery Attempts を編集することもできます。その他のオプションは、管理 CLI を使用して設定する必要があります。