. 아래에 주어진 것과 비슷한 경로가 있습니다.아파치 낙타 - 처리 및 다시 throw 예외
RouteBuilder builder = new RouteBuilder() {
public void configure() {
// onException(Exception.class).bean("bean");
onException(Exception.class).to("anotherProcessor");
from("queue:a").bean("someBean").to("processor");
}
};
몇 가지 작업을 수행 한 후에 예외를 어떻게 울리나요? 예외적으로 예외를 다시 던지기 위해 프로세서와 빈을 구성 해 보았습니다. 어느 쪽이든, 낙타는 교환을 위해 예외를 설정하고 있지만 예외는 날려 버리지 않습니다.
나는 JUnit 테스트 케이스에이 일을하고있다. onException 프로세서를 사용하여 예외를 처리하고 있습니다. 프로세서 내부에서 나는 내 주장을하고있다. 어설 션 오류는 낙타에 의해 자동으로 처리되며 테스트는 합격/불합격으로 표시되지 않습니다.
당신은 "예외를 폭파"무엇을 의미합니까? 어떤 종류의 행동을 성취하고 싶습니까? – Ralf
난 프로세서 onException을하고 에러 또는 예외가 발생하는 경우, 상기 제어는 DelegateSyncProcessor로 진행하여 예외/오류가 클라이언트에 발포되지 않는다. –
Camel JMS 구성 요소를 사용하고 있습니까? 그렇다면'transferException = true'를 설정해야합니다 ([documentation] (http://people.apache.org/~dkulp/camel/jms.html) 참조). 'onException' 문에서'.handled (false)'를 호출해야 할 수도 있습니다. 나는 오류가 프로세서에 의해 처리되는 경우 Camel 기본값이 무엇인지 기억하지 못합니다. 카멜은 기본적으로 예외 처리로 표시 할 수 있습니다. – Ralf