20.8.2. JMS アドレスの設定
JMS サブシステムには、メッセージの配信方法および配信タイミング、配信試行回数、メッセージの有効期限などの側面を制御する複数の設定可能なオプションがあります。これらの設定オプションは、すべて
<address-settings>
設定要素内に存在します。
アドレス設定の一般的な機能は、ワイルドカードとも呼ばれる複数のアドレスに一致する構文です。
ワイルドカード
アドレスワイルドカードを使用すると単一のステートメントで複数の似たアドレスを一致させることができます。これは、システムがアスタリスク ( * ) 文字を使用して 1 回の検索で複数のファイルや文字列を一致させることと似ています。以下の文字はワイルドカードステートメントでは特別な意味を持っています。
表20.5 JMX のワイルドカード構文
文字 | 説明 |
---|---|
. (ピリオド 1 つ) | ワイルドカード表現で単語の間のスペースを意味します。 |
# (シャープまたはハッシュマーク) | ゼロ以上の単語シーケンスと一致します。 |
* (アスタリスク) | 1 つの単語と一致します。 |
表20.6 JMS ワイルドカードの例
例 | 説明 |
---|---|
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 とは一致しません。
|
例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 を使用してアドレスを設定します。新しいパターンの追加
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)
パターン属性の編集
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)
パターン属性の確認
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 タブをクリックします。Add をクリックして新しいパターンを追加するか、既存のパターンを選択して Edit をクリックし、設定を更新します。
- 新しいパターンを追加する場合、Pattern フィールドは
address-setting
要素のmatch
パラメーターを参照します。また、Dead Letter Address、Expiry Address、Redelivery Delay、および Max Delivery Attempts を編集することもできます。他のオプションは、管理 CLI を使用して設定する必要があります。