2013-03-06 3 views
3

동적 방법으로 끝점에서 변경할 수 있습니까? 내가 변경하려면, 예를 들어 동적 변경 끝점 낙타

for(endpointFirst).routeId(ROUTEID).to(finishEndpoint); 

나는 새로운 엔드 포인트

camelContext.startRoute(TestRoute.ROUTEID); 

camelContext.stopRoute(TestRoute.ROUTEID); 

변화 기존 엔드 포인트를 사용하려고하지만 내 노력이 제대로 작동하지

for(endpointSecond).routeId(ROUTEID).to(finishEndpoint); 

에 . 어떤 도움

답변

6

당신은

에 필요
  1. 시작 경로
  2. 를 추가
  3. 변화를 제거 이것은 당신이 당신이 원하는대로에 엔드 포인트에서을 변경할 수 있습니다

경로를 엔드 포인트

  • 을 경로를 경로
  • 을 중지 (예 : 다른 것)

    일부 구성 요소/끝 점이 opti 런타임에 업데이트되는 것들이 있습니다. 예를 들어, JMS 엔드 포인트는이 작업을 할 수 있습니다, 그래서 당신은

    1. 는 경로

    을 시작 경로를

  • 변경 JMS 엔드 포인트
  • 에서 옵션을 중지 할 수 있습니다 그러나 어떤 수없는 일부 구성 요소가있을 수 있습니다 그렇게.

  • 1

    에 대한

    덕분에 당신은 그냥 동적으로 추가/제거 경로를 컨텍스트 API를 통해 또는 클로스

    제안으로 recipient list EIP를 사용하여 대상 엔드 포인트를 변경하려면 경로를 변경할 수 있으며, from 엔드 포인트를 변경하려면 동적 메시지 헤더, 변수, 방법 등을 기반으로 엔드 포인트를 결정하는 식 ...

    from("direct:a") 
        .recipientList(header("foo")); 
    
    +0

    recipientList 패턴을 알고 있지만 첫 번째 endpoint - from을 변경하고 싶습니다. 따라서 recipientList를 사용할 수없는 경우를 대비하여. – przodownikPracy