2014-02-25 2 views
0

데드 레터 채널에 메시지를 보내는 예제를 따라 왔지만이를 테스트하는 방법을 찾지 못했습니다. 메시지는 DLC로 라우트되지만 테스트를 거쳐야합니다.아파치 카멜 시험 데드 레터 채널

예를 들어, 메시지가 로그에 수신되었음을 테스트하려면 어떻게해야합니까? dead endpoint.

@Override 
protected RouteBuilder createRouteBuilder() throws Exception { 

    return new RouteBuilder() { 
     @Override 
     public void configure() throws Exception { 
      errorHandler(deadLetterChannel("log:dead?level=ERROR").logHandled(true)); 

      from("direct:testdlc").process(new Processor() { 
       @Override 
       public void process(Exchange exchange) throws Exception { 
        throw new IllegalArgumentException("kaboom!"); 
       } 
      }).to("mock:file"); 
     } 
    }; 
} 

하나의 옵션은 새로운 경로에 기록하는 것입니다,하지만 난 아웃 - 오브 - 박스 로거를 사용하는 기대했다 :이 코드는 CamelTestSupport에서 연장 된 테스트 클래스입니다.

답변

0

로깅 후 모의 종점으로 메시지를 보낼 수 있습니다.

from("log:dead?level=ERROR").to("mock:logger"); 
관련 문제