37.31. bridgeErrorHandler の使用
Camel エラーハンドラーを使用して File consumer で発生した例外を処理する場合は、以下に示すように bridgeErrorHandler オプションを有効にできます。
// to handle any IOException being thrown
onException(IOException.class)
.handled(true)
.log("IOException occurred due: ${exception.message}")
.transform().simple("Error ${exception.message}")
.to("mock:error");
// this is the file route that pickup files, notice how we bridge the consumer to use the Camel routing error handler
// the exclusiveReadLockStrategy is only configured because this is from an unit test, so we use that to simulate exceptions
from("file:target/nospace?bridgeErrorHandler=true")
.convertBodyTo(String.class)
.to("mock:result");
したがって、このオプションを有効にするだけで、ルート内のエラーハンドラーがそこから取得します。
重要
bridgeErrorHandler を使用する場合
bridgeErrorHandler、次にインターセプターを使用する場合、OnCompletions は適用 されません。Exchange は Camel エラーハンドラーによって直接処理され、インターセプターや onCompletion などの前のアクションがアクションを実行することを許可しません。