0

フローでフェールセーフ シナリオを作成しようとしています。

私のフローは以下のようになります。これには、インターンが Web サービスを呼び出すいくつかのサブフローが含まれます。いずれのシナリオでも、Web サービスの 1 つが利用できない場合、接続拒否例外がスローされ、処理全体が停止します。

代わりに、現在のアウトバウンド コールが失敗した場合でも、フローが次のサブフローで続行されるフェールセーフ シナリオが必要です。

Mule でこの動作を達成するのに役立つメッセージ プロセッサまたはフロー制御プロセッサはありますか。

以下は私の抽象的な流れです

<flow name="main_flow" >
    ....
    ....
    <flow-ref  name="subflow_1" />
    ....
    ....
    <flow-ref  name="subflow_2" />
    ....
    ....
    <flow-ref  name="subflow_3" />
    ....
    ....

</flow>

<sub-flow name="subflow_1">
    ....
    ....
    <out-bound call to web-service />
    ....
    ....
</sub-flow>

<sub-flow name="subflow_2">
    ....
    ....
    <out-bound call to web-service />
    ....
    ....
</sub-flow>

<sub-flow name="subflow_3">
    ....
    ....
    <out-bound call to web-service />
    ....
    ....
</sub-flow>
4

3 に答える 3

1

Webサービス呼び出しごとに、first-successfulルーターを使用します。最初の子としてWebサービス呼び出しを使用し、2番目の子としてフォールバックメカニズムを使用します。

于 2013-02-01T20:32:08.637 に答える
1

1 つのハックは、ペイロードを変数に格納し、<catch-exception-strategy>Web サービスの呼び出し例外をキャッチするブロックを<set-payload>用意し、現在のペイロードを上書きしてから、フローsub-flow2から手動で呼び出すことです。catch-exceptionsub-flow1

于 2013-02-01T20:04:17.590 に答える