20.7. 迂回


Diverts は、HornetQ で設定されるオブジェクトです。メッセージをあるアドレス (メッセージのルーティング先) から別のアドレスに迂回する場合に役に立ちます。Diverts は、サーバー設定ファイル (standalone.xml および domain.xml) で設定できます。
迂回は、以下のタイプに分類できます。
  • 特別な迂回: メッセージは新しいアドレスにのみ迂回され、古いアドレスには送信されません
  • 特別でない迂回: メッセージは古いアドレスに引き続き送信され、メッセージのコピーが新しいアドレスに送信されます。特別でない迂回はメッセージのフローを分割するために使用できます。
迂回は Transformer とオプションのメッセージフィルターを適用するよう設定できます。オプションのメッセージフィルターを使用すると、指定したフィルターに一致するメッセージのみを迂回できます。トランスフォーマーは、メッセージを別の形式に変換するために使用されます。トランスフォーマーが指定された場合は、迂回されたすべてのメッセージが Transformer によって変換されます。
迂回により、メッセージは同じサーバー内のアドレスにのみ迂回されます。別のサーバーのアドレスにメッセージを迂回する必要がある場合は、以下に示されたパターンに従ってください。
  • メッセージをローカルストアと転送キューに迂回します。そのキューから消費し、メッセージを別のサーバーのアドレスに迂回するブリッジをセットアップします
迂回とブリッジを組み合わせてさまざまなルーティングを作成できます。

20.7.1. 特別な迂回

特別な迂回により、すべてのメッセージが古いアドレスから新しいアドレスに迂回します。一致するメッセージは古いアドレスにルーティングされません。特別な迂回は、standalone.xml および domain.xml サーバー設定ファイルで exclusive 属性を true に設定することにより有効にできます。
以下の例は、サーバー設定ファイルで設定された特別な迂回を示しています。
<divert name="prices-divert">
   <address>jms.topic.priceUpdates</address>
   <forwarding-address>jms.queue.priceForwarding</forwarding-address>
   <filter string="office='New York'"/>
   <transformer-class-name>
      org.hornetq.jms.example.AddForwardingTimeTransformer
   </transformer-class-name>
   <exclusive>true</exclusive>
</divert>
以下のリストは、上記の例で使用された属性を示しています。
  • address: このアドレスに送信されたメッセージは別のアドレスに迂回されます
  • forwarding-address: メッセージは古いアドレスからこのアドレスに迂回されます
  • filter-string: filter-string 値に一致するメッセージが迂回されます。他のすべてのメッセージは通常のアドレスにルーティングされます
  • transformer-class-name: このパラメーターを指定すると、一致する各メッセージの変換が実行されます。これにより、迂回する前にメッセージの本文またはプロパティーを変更できるようになります
  • exclusive: 特別な迂回を有効または無効にするために使用されます
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.