13.7.12. ContentBasedRouter


Expand
Class org.jboss.soa.esb.actions.ContentBasedRouter
コンテンツベースのメッセージルーティングアクション。
このアクションは、以下のルーティングルールプロバイダータイプをサポートします。
  • XPath: アクション上でインラインで定義される単純な XPath ルール、または .properties 形式のファイルで外部で定義される単純な XPath ルール。
  • Drools: Drools ルールファイル(DSL)XPath ベースの DSL の追加設定なしサポート。
Expand
表13.22 ContentBasedRouter プロパティー
プロパティー Description 必須
cbrAlias
コンテンツベースのルーティングプロバイダーエイリアス。サポートされる値は Drools (デフォルト)、Xpath、および regex です。
ruleSet
外部で定義されたルールファイル。Drools ルールプロバイダーが使用されている場合は Drools DSL ファイル、XPath プロバイダーまたは Regex プロバイダーが使用されている場合は .properties ルールファイルになります。
ruleLanguage
CBR 評価のドメイン固有言語(DSL)ファイルDrools ルールプロバイダーにのみ関連します。
ruleReload
毎回ルールファイルをリロードする必要があるかどうかを示すフラグ。デフォルトは false です。
ruleAuditType
Drools が監査ロギングを実行できるようにする任意のプロパティー。ログは Drools Eclipse プラグインに読み取り、検査できます。有効な値は CONSOLE、FILE、および THREADED_FILE です。デフォルトでは、監査ロギングは実行されません。
 
ruleAuditFile
監査ロギングのファイルパスを定義する任意のプロパティー。FILE または THREADED_FILE ruleAuditType にのみ適用されます。デフォルトは event です。JBoss Drools は、.log を追加することに注意してください。このファイルのデフォルトの場所は. - 現在の作業ディレクトリーです(JBoss は bin/ ディレクトリーにあります)。
 
ruleAuditInterval
監査イベントを監査ログにフラッシュする頻度を定義する任意のプロパティー。THREADED_FILE ruleAuditType にのみ適用されます。デフォルトは 1000 (ミリ秒)です。
 
destinations
<route-to> 設定のコンテナープロパティー。ルールが外部に定義されている場合は、この設定の形式は以下のようになります。
<route-to destination-name="express" 
    service-category="ExpressShipping" service-name="ExpressShippingService"/>
Copy to Clipboard Toggle word wrap
設定でルールをインラインで定義すると、この設定のフォーマットは以下のとおりです(Drools プロバイダーではサポートされません)。
<route-to service-category="ExpressShipping" 
    service-name="ExpressShippingService" expression="/order[@statusCode='2']" />
Copy to Clipboard Toggle word wrap
namespaces
必要な場合の <namespace> 設定のコンテナープロパティー(XPath ruleprovider など)。<namespace> 設定の形式は以下のとおりです。
<namespace prefix="ord" uri="http://acme.com/order" />
Copy to Clipboard Toggle word wrap
Expand
表13.23 ContentBasedRouter "process" メソッド
プロパティー Description 必須
process
メッセージに集計データを追加しないでください。
split
メッセージに集約データを追加します。

例13.13 設定 XPATH の例(インライン)

<action process="split" name="ContentBasedRouter" 
    class="org.jboss.soa.esb.actions.ContentBasedRouter">
    <property name="cbrAlias" value="XPath"/>
    <property name="destinations">
        <route-to service-category="ExpressShipping"                 
            service-name="ExpressShippingService" expression="/order['status='1']" />
        <route-to service-category="NormalShipping"  
            service-name="NormalShippingService" expression="/order['status='2']" />
    </property>  
</action>
Copy to Clipboard Toggle word wrap

例13.14 設定 XPATH の例(外部)

<action process="split" name="ContentBasedRouter" 
    class="org.jboss.soa.esb.actions.ContentBasedRouter">
    <property name="cbrAlias" value="XPath"/>
    <property name="ruleSet" value="xpath-rules.properties"/>
    <property name="ruleReload" value="true"/>
    <property name="destinations">
        <route-to destination-name="express" service-category="ExpressShipping"                 
            service-name="ExpressShippingService"/>
        <route-to destination-name="normal" service-category="NormalShipping"  
            service-name="NormalShippingService"/>
    </property>
</action>
Copy to Clipboard Toggle word wrap
regex は XPath とまったく同じように設定されます。唯一の違いは、式が(XPath 式ではなく) Regex 式です。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat