4.2. アドレスセットへのアドレス設定の適用

AMQ Broker では、ワイルドカード式を使用して一致するアドレス名を表すことで、address-setting 要素に指定された設定をアドレスセットに適用することができます。

以下のセクションでは、ワイルドカード式の使用方法を説明します。

4.2.1. AMQ Broker ワイルドカード構文

AMQ Broker は、アドレス設定でワイルドカードを表す特定の構文を使用します。ワイルドカードは、セキュリティー設定やコンシューマーの作成時に使用することもできます。

  • ワイルドカード式には、ピリオド (.) で区切られた単語が含まれます。
  • 数字記号 (#) およびアスタリスク (*) 文字には特別な意味があり、以下のように単語の代わりに使用できます。

    • 数字記号は、ゼロ以上の単語のシーケンスの一致を意味します。式の最後に使用します。
    • アスタリスク文字は単一の単語と一致するを意味します。式内のどこかにこの変数を使用します。

マッチングは文字による文字は実行されませんが、各区切り文字境界では文字ごとに一致します。たとえば、名前に my を持つキューと一致するよう設定された address-setting 要素は、myqueue という名前のキューと 一致しません

複数の address-setting 要素がアドレスと一致する場合、ブローカーオーバーレイ設定は、ベースラインとして最も具体的な一致の設定を使用します。リテラル式はワイルドカードより固有で、アスタリスク (*) は数値記号 (#) より具体的なものです。たとえば、my.destinationmy.* の両方がアドレス my.destination と一致します。この場合、ワイルドカード式はリテラルよりも具体的なため、ブローカーは最初に my.* にある設定を適用します。次に、ブローカーは my.destination アドレス設定要素の設定をオーバーレイし、my.* と共有される設定を上書きします。たとえば、以下の設定では、my .destination に関連付けられたキューは max-delivery-attempts3 に設定し、last-value-queuefalse に設定します。

<address-setting match="my.*">
    <max-delivery-attempts>3</max-delivery-attempts>
    <last-value-queue>true</last-value-queue>
</address-setting>
<address-setting match="my.destination">
    <last-value-queue>false</last-value-queue>
</address-setting>

以下の表に示す例は、ワイルドカードを使用してアドレスセットを照合する方法を示しています。

説明

#

broker.xml で使用されるデフォルトの address-setting。すべてのアドレスに一致します。このキャッチオールを適用するか、必要に応じて各アドレスまたはアドレスグループに新しい address-setting を追加することができます。

news.europe.#

news.europenews.europe.sportnews.europe.politics.fr は一致するが、news.usaeurope は一致しない。

news.*

news.europenews.usa は一致するが、news.europe.sport は一致しない。

news.*.sport

news.europe.sportnews.usa.sport は一致するが、news.europe.fr.sport は一致しない。