2

MULEで未チェック/ランタイム例外を処理する方法を知っている人はいますか?

つまり、私のJavaコードでは、特定の理由で「例外をスロー」しており、Muleにそれを検出して適切なフローにルーティングさせ、その例外をログに記録または印刷できるようにします。

だから、それを達成するために、Mule構成ファイルの「フロー」に正確に何を配置する必要がありますか。

私のJavaコード:

public Object xyz (Map payload) throws Exception {
    if (payload.isEmpty()) {
        throw new Exception ("New Exception") ;
    }
}

My Mule Configファイル:

<flow name="APIAuthenticate">

    <http:inbound-endpoint address="http://localhost:1212/jcore/authorize" transformer-refs="HttpParams" responseTransformer-refs="JavaObjectToJson" contentType="application/json" encoding="UTF-8">
        <not-filter>
            <wildcard-filter pattern="/favicon.ico"/>
        </not-filter>
    </http:inbound-endpoint>

    <component class="main.java.com.abc.XYZ"/>

</flow>

どんな助けでも深く感謝します..!!

4

2 に答える 2

2

フローでdefault-exception-strategyを構成すると、例外(実行時の例外も含む)をキャッチして処理できるようになります。

詳細については、エラー処理リファレンスガイドをお読みください。

于 2011-11-08T18:26:19.883 に答える
2

OK..私はいくつかのヒットとトライアルをしました、そして私はそれを理解しました

  • 例外がスローされると、 default-exception-strategyや custom -exception-strategyが必要なように、例外戦略が必要になります。これにより、フローが処理され、必要なアクションを実行するクラスにフローがルーティングされます。

  • ただし、(以下のように)例外を返す場合は、Muleのexception-payload-filterまたはchoice属性を使用して処理できます。

    public Object xyz (Map payload) throws Exception {
        if (payload.isEmpty()) {
            return new Exception ("New Exception") ;
        }
    }
    

私が間違っている場合は私を訂正してください..??

また、この質問に対する他の回答があれば、親切にそれらを入れてください。

于 2011-11-09T04:35:06.567 に答える