12.2. メッセージ迂回の設定
ブローカーインスタンスで迂回を設定するには、broker.xml 設定ファイルの core 要素に divert 要素を追加します。
- divert
-
迂回の名前付きインスタンス。各迂回に一意の名前がある限り、複数の
divert要素をbroker.xml設定ファイルに追加できます。 - address
- メッセージを迂回するアドレス
- forwarding-address
- メッセージを転送する アドレス
- filter
- オプションのメッセージフィルター。フィルターを設定すると、フィルター文字列に一致するメッセージのみが迂回されます。フィルターを指定しない場合、すべてのメッセージは迂回と一致すると見なされます。
- routing-type
迂回されたメッセージのルーティングタイプ。迂回は以下に設定できます。
-
anycastまたはマルチキャストルーティングのタイプのメッセージへの適用 - 既存のルーティングタイプを 削除 します。
- 既存のルーティングタイプを 通過 します (つまり保持されます)。
-
ルーティングタイプの制御は、メッセージにルーティングタイプがすでに設定されているものの、別のルーティングタイプを使用するアドレスにメッセージを迂回する必要がある場合に役立ちます。たとえば、ブローカーは、迂回の routing-type パラメーターを MULTICAST に設定しない限り、anycast ルーティングタイプのメッセージを マルチキャスト を使用するキューにルーティングできません。迂回の routing-type パラメーターの有効な値は ANYCAST、MULTICAST、PASS、および STRIP です。デフォルト値は STRIP です。
- exclusive
-
迂回が排他的であるか ( プロパティーを
trueに設定 ) または非排他的であるかを指定します ( プロパティーをfalseに設定 )。
以下のサブセクションは、排他的な迂回および排他的でない迂回の設定例を示しています。
12.2.1. 排他的な迂回の例 リンクのコピーリンクがクリップボードにコピーされました!
以下は、排他的な迂回の設定例です。排他的な迂回により、一致するメッセージはすべて最初に設定されたアドレスから新しいアドレスに迂回されます。一致するメッセージは元のアドレスにルーティングされません。
上記の例では、prices-divert と呼ばれる迂回を定義します。これは、アドレス priceUpdates に送信されたメッセージを別のローカルアドレスである priceForwarding に迂回します。メッセージフィルター文字列も指定します。メッセージプロパティー office と値 New York を持つメッセージのみが迂回されます。その他のメッセージはすべて元のアドレスにルーティングされます。最後に、迂回が排他的であることを指定します。
12.2.2. 排他的でない迂回の例 リンクのコピーリンクがクリップボードにコピーされました!
以下は、排他的でない迂回の設定例です。排他的でない迂回では、メッセージは元のアドレスに送信されますが、ブローカーはメッセージのコピーを指定された転送アドレスにも送信します。したがって、排他的でない迂回は、メッセージフローを分割する方法です。
<divert name="order-divert"> <address>orders</address> <forwarding-address>spyTopic</forwarding-address> <exclusive>false</exclusive> </divert>
<divert name="order-divert">
<address>orders</address>
<forwarding-address>spyTopic</forwarding-address>
<exclusive>false</exclusive>
</divert>
上記の例では、order-divert という迂回を定義し、アドレスの 順序 に送信されたすべてのメッセージのコピーを取り、spyTopic と呼ばれるローカルアドレスに送信します。また、迂回が排他的ではないように指定します。
関連情報
排他的な迂回と非排他的な迂回の両方を使用する詳細な例は、Divert Example (外部) を参照してください。