2012-03-08 5 views
0

나는 낙타 경로를 동적으로 재배치하는 방법을 알아 내려고하고 있습니다. 현재 일부 입력을 기반으로 프로세서에서 경로를 계산합니다. 라우트는 메시지 헤더에 놓입니다. 나는 동적으로 같은낙타 경로에 동적으로 재 연결

.routingSlip(header("myHeader").toString())

또는 무언가를 사용하여 다시 경로를 할 수있을 거라고 생각했지만, 지금까지 운이 없었어요.

.recipientList(property("sendTo")); 

: 같은 recipientList를 사용 routingSlip 대신, 다음

exchange.setProperty("sendTo", blah); 

:

어떤 도움에 감사드립니다 ...

답변

1

우리는 우리의 프로세서 동안 속성을 설정합니다. .. 위대한 작품. 나는 이것을 위해 완전한 모범이 필요하다고 생각하지 않습니까?

+0

이것은 결국 내가해야 할 일이다. 헤더 표기법을 사용하여 교환 대신 메시지에서 가져올 수 있습니다. – Derek

2

당신은로 .toString()를 사용하지 말아야합니다, 단순히해야 http://camel.apache.org/routing-slip

그런 다음 "myHeader"1..N 엔드 포인트 어디에 단지를 포함해야 낙타 문서에 설명 된대로

.routingSlip(header("myHeader")) 

메시지를 라우팅해야합니다. 엔드 포인트가 여러 개인 경우 쉼표로 구분하십시오.

+0

toString()을 추가하지 않았을 때 routingSlip이 ValueBuilder와 작동하지 않는다는 오류가 발생했습니다. – Derek

+0

어떤 Camel 버전을 사용하고 있습니까? 이전 버전 일 수 있습니다. 라우팅 슬립은 기본적으로 헤더를 사용하므로, .routingSlip ("myHeader") 만 수행하면됩니다. 예 : 헤더 이름 인 String을 전달하십시오. –

+0

메신저 버전 2.6 사용 중 – Derek