Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMule アプリケーションによってスローされたエラーをキャッチし、エラー種別に一致する最初の On-Error コンポーネント設定にルーティングします。
Error Handler コンポーネントには、On Error Continue と On Error Propagate という 2 つの子要素があり、アプリケーションで発生したエラーがハンドラーで設定されたエラー種別と一致する場合に実行するルートを設定できます。各ハンドラーには独自の動作があり、それを含むコンポーネント (Flow または Try スコープ) に関連して動作します。
On Error Continue (on-error-continue
): 実行されると、実行の結果がそのコンテナ要素の結果として (コンテナが実行を正常に完了したかのように) 使用されます。この時点のすべてのトランザクションが正常にコミットされます。
On Error Propagate (on-error-propagate
): すべてのトランザクションをロールバックしてから実行され、その結果が使用されて既存のエラーが再スローされます。この場合、コンテナ要素はその実行に「失敗」します。
エラーに一致するエラー処理設定がない場合、アプリケーションはデフォルトのエラー処理プロセスに従います。詳細は、メッセージのデフォルトエラー処理の使用を参照してください。
このコンポーネントは、次の XML 構造をサポートします。
<flow name="myFlow">
<error-handler>
<on-error-propagate name="onErrorPropagate" >
<!-- error handling logic -->
</on-error-propagate>
<on-error-continue name="onErrorContinue" >
<!-- error handling logic -->
</on-error-continue>
</error-handler>
</flow>
Error Handler (<error-handler/>
) 属性は UI および XML で設定できます。
属性名 | 属性 XML | 説明 |
---|---|---|
Error handler (エラーハンドラー) (デフォルト) |
|
キャンバスに表示されるコンポーネントの編集可能な名前。 |
なし |
|
コンポーネントの自動生成された識別子。 |
<on-error-continue/>
子要素と <on-error-propagate/>
子要素は次の属性を共有します。
属性名 | 属性 XML | 説明 |
---|---|---|
When (条件) |
|
この On-Error 戦略の実行をトリガーする条件を定義する一致式。式はブール値 ( |
Type (種別) |
|
この On-Error 戦略で処理されるエラーを定義する、Mule エラー種別のカンマ区切りのリスト。 |
Log exception (ログ例外) |
|
この戦略でエラーが処理される前に、そのエラーをレベル |
Enable notifications (通知を有効化) |
|
エラーが発生したときに、この戦略で |
次の例は、VALIDATION:NOT_NULL
エラーに対して { "MyError": "value was expected to be null" }
を生成し、その他のエラー種別に対しては { "messageANY" : "Some other error" }
を生成するハンドラーを設定します。
<error-handler >
<on-error-continue
enableNotifications="true"
logException="true"
type="VALIDATION:NOT_NULL">
<ee:transform >
<ee:message>
<ee:set-payload>
<![CDATA[%dw 2.0
output application/json
---
{
MyError : error.description as String
}]]>
</ee:set-payload>
</ee:message>
</ee:transform>
</on-error-continue>
<on-error-continue
enableNotifications="true"
logException="true"
type="ANY">
<ee:transform>
<ee:message >
<ee:set-payload >
<![CDATA[%dw 2.0
output application/json
---
{
"messageANY" : "Some other error"
}
]]>
</ee:set-payload>
</ee:message>
</ee:transform>
</on-error-continue>
</error-handler>