파일 소비자에서 발생하는 예외를 처리하기 위해 Camel Error Handler를 사용하려면 다음과 같이 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?consumer.bridgeErrorHandler=true")
.convertBodyTo(String.class)
.to("mock:result");
// 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?consumer.bridgeErrorHandler=true")
.convertBodyTo(String.class)
.to("mock:result");
Copy to ClipboardCopied!Toggle word wrapToggle overflow
따라서 이 옵션을 활성화하려면 모두 이 옵션을 사용할 수 있으며 경로의 오류 처리기에서 이 옵션을 사용합니다.
중요
consumer.bridgeErrorHandler를 사용하는 경우 consumer.bridgeErrorHandler를 사용하는 경우 중요 한 다음 인터셉터, OnCompletions가 적용되지 않습니다. Exchange는 Camel ErrorHandler에서 직접 처리하며 인터셉터, onCompletion과 같은 사전 작업을 허용하지 않습니다.