14.2. メッセージ迂回の設定

ブローカーインスタンスで迂回を設定するには、broker.xml 設定ファイルの core 要素に divert 要素を追加します。

<core>
...
   <divert name= >
        <address> </address>
        <forwarding-address> </forwarding-address>
        <filter string= >
        <routing-type> </routing-type>
        <exclusive> </exclusive>
   </divert>
...
</core>
divert
迂回の名前付きインスタンス。各迂回に一意の名前がある限り、複数の divert 要素を broker.xml 設定ファイルに追加できます。
address
メッセージを迂回するアドレス
forwarding-address
メッセージを転送する アドレス
filter
オプションのメッセージフィルター。フィルターを設定すると、フィルター文字列に一致するメッセージのみが迂回されます。フィルターを指定しない場合、すべてのメッセージは迂回と一致すると見なされます。
routing-type

迂回されたメッセージのルーティングタイプ。迂回は以下に設定できます。

  • anycast または マルチキャスト ルーティングのタイプのメッセージへの適用
  • 既存のルーティングタイプを 削除 します。
  • 既存のルーティングタイプを 通過 します (つまり保持されます)。

ルーティングタイプの制御は、メッセージにルーティングタイプがすでに設定されているものの、別のルーティングタイプを使用するアドレスにメッセージを迂回する必要がある場合に役立ちます。たとえば、ブローカーは、迂回の routing-type パラメーターを MULTICAST に設定しない限り、anycast ルーティングタイプのメッセージを マルチキャスト を使用するキューにルーティングできません。迂回の routing-type パラメーターの有効な値は ANYCASTMULTICASTPASS、および STRIP です。デフォルト値は STRIP です。

exclusive
迂回が排他的であるか ( プロパティーを true に設定 ) または非排他的であるかを指定します ( プロパティーを false に設定 )。

以下のサブセクションは、排他的な迂回および排他的でない迂回の設定例を示しています。

14.2.1. 排他的な迂回の例

以下は、排他的な迂回の設定例です。排他的な迂回により、一致するメッセージはすべて最初に設定されたアドレスから新しいアドレスに迂回されます。一致するメッセージは元のアドレスにルーティングされません。

<divert name="prices-divert">
   <address>priceUpdates</address>
   <forwarding-address>priceForwarding</forwarding-address>
   <filter string="office='New York'"/>
   <exclusive>true</exclusive>
</divert>

上記の例では、prices-divert と呼ばれる迂回を定義します。これは、アドレス priceUpdates に送信されたメッセージを別のローカルアドレスである priceForwarding に迂回します。メッセージフィルター文字列も指定します。メッセージプロパティー office と値 New York を持つメッセージのみが迂回されます。その他のメッセージはすべて元のアドレスにルーティングされます。最後に、迂回が排他的であることを指定します。