1

私はラバが初めてです。このロジックについて教えてください。実際、私のフローでは、選択肢のメッセージプロセッサがあります。満足していない式は、デフォルトの選択肢になります。その後、フロー参照があります。メッセージがデフォルト(選択)に移動したくない場合は、フロー参照に入力する必要があります。代わりに、そのフローで構成した選択例外戦略に移動する必要があります。したがって、デフォルトで例外をスローする必要があります。実は私は非常に大きな流れを持っているので、簡単に理解できるようにしました。xml config で見つけてください。

        <flow name="Choice" doc:name="Choice">
    <file:inbound-endpoint path="C:\Users\Star\Desktop\Mule\FilePath1" responseTimeout="10000" doc:name="File"/>
    <byte-array-to-string-transformer doc:name="Byte Array to String"/>
    <choice doc:name="Choice">
        <when expression="#[xpath('fn:local-name(/root/*[2])')=='book']">
            <file:outbound-endpoint path="C:\Users\Star\Desktop\Mule\FilePath2" responseTimeout="10000" doc:name="File"/>
        </when>
        <otherwise>
            <file:outbound-endpoint path="C:\Users\Star\Desktop\Mule\FilePath3" responseTimeout="10000" doc:name="File"/>
        </otherwise>
    </choice>
    <flow-ref name="SampleService" doc:name="Flow Reference"/>
    <catch-exception-strategy doc:name="Catch Exception Strategy">
        <logger message="*****#[exception]****" level="INFO" doc:name="Logger"/>
    </catch-exception-strategy>
</flow>
<flow name="SampleService" doc:name="SampleService">
    <file:inbound-endpoint path="C:\Users\Star\Desktop\Mule\FilePath4" responseTimeout="10000" doc:name="File"/>
</flow>

Mule で例外をスローする標準的な方法を教えてください。

            <test:component  throwException="true"/> 

しかし、「要素「test:component」のプレフィックス「test」はバインドされていません」のような例外をスローしています。

4

2 に答える 2

1

コードを記述したくない場合は、検証コンポーネントを使用することもできます。新しい 'Is True' バリデータを作成し、式を #[false] に設定するだけです。カスタマイズ ページで、エラーと返したいメッセージを設定します。私は org.mule.module.apikit.exception.NotFoundException を使用しましたが、ルックアップも使用できます。これを理解するのに永遠にかかりました。

于 2016-05-25T17:23:53.807 に答える