18.6. Diverts
迂回は HornetQ で設定されるオブジェクトです。メッセージをあるアドレス(メッセージがルーティングされる)から他のアドレスに迂回するのに役立ちます。迂回はサーバー設定ファイル(
standalone.xml および domain.xml)で設定できます。
迂回は、以下のタイプに分類できます。
迂回は、
- 特別な迂回: メッセージは新しいアドレスにのみ迂回され、古いアドレスには送信されません
- 特別でない迂回: メッセージは古いアドレスに引き続き送信され、そのコピーは新しいアドレスに送信されます。特別でない迂回はメッセージのフローを分割するために使用できます。
トランスフォーマーとオプションのメッセージフィルターを適用するように設定できます。オプションのメッセージフィルターは、指定されたフィルターに一致するメッセージのみを迂回するのに役立ちます。トランスフォーマーは、メッセージを別のフォームに変換するために使用されます。トランスフォーマーが指定されている場合、迂回されたメッセージはすべて トランスフォーマー によって変換されます。
迂回により、メッセージは同じサーバー内のアドレスにのみ迂回されます。別のサーバーのアドレスにメッセージを迂回する必要がある場合は、以下で説明されているパターンに従います。
迂回とブリッジを組み合わせてさまざまなルーティングを作成できます。
- メッセージをローカルストアと転送キューに迂回します。そのキューから消費して別のサーバーのアドレスにメッセージを送信するブリッジを設定
18.6.1. 特別な迂回 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
特別な迂回により、すべてのメッセージを古いアドレスから新しいアドレスに迂回します。一致するメッセージは古いアドレスにルーティングされません。
standalone.xml および domain.xml サーバー設定ファイルに exclusive 属性を true に設定すると、特別な迂回を有効にすることができます。
以下の例は、サーバー設定ファイルで設定された特別な迂回を示しています。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
以下のリストは、上記の例で使用された属性を示しています。
アドレス: このアドレスに送信されたメッセージは別のアドレスに迂回されます。forwarding-address: メッセージは古いアドレスからこのアドレスに迂回されます。filter-string:filter-string値に一致するメッセージは迂回されます。その他のメッセージはすべて通常のアドレスにルーティングされます。transformer-class-name: このパラメーターを指定すると、一致する各メッセージの変換が実行されます。これにより、迂回する前にメッセージのボディーまたはプロパティーを変更できます。排他的: 特別な迂回を有効または無効にするために使用されます。