12장. System Management

초록

시스템 관리 패턴은 메시징 시스템을 모니터링, 테스트 및 관리하는 방법을 설명합니다.

12.1. detour

12.1.1. detour

3장. 엔터프라이즈 통합 패턴 소개 에서 Detour 를 사용하면 제어 조건이 충족되는 경우 추가 단계를 통해 메시지를 보낼 수 있습니다. 필요한 경우 추가 검증, 테스트, 디버깅 코드를 켜는 데 유용할 수 있습니다.

detour

12.1.2. 예제

이 예제에서는 기본적으로 경로 중간에 mock:detour 엔드포인트에 대한 조건부 detour와 함께 from("direct:start").to("mock:result") 와 같은 경로가 있습니다.

from("direct:start").choice()
    .when().method("controlBean", "isDetour").to("mock:detour").end()
    .to("mock:result");

Spring XML Extensions사용

<route>
  <from uri="direct:start"/>
    <choice>
      <when>
        <method bean="controlBean" method="isDetour"/>
	<to uri="mock:detour"/>
      </when>
    </choice>
    <to uri="mock:result"/>
  </split>
</route>

detour가 설정 또는 해제되었는지 여부는 ControlBean 에 의해 결정됩니다. 따라서 메시지에 detour가 라우팅되면 mock:detourmock:result. detour가 꺼져 있으면 메시지가 mock:result 로 라우팅됩니다.

자세한 내용은 여기에서 예제 소스를 확인하십시오.

camel-core/src/test/java/org/apache/camel/processor/DetourTest.java