0
다른 대기열에 목록의 다른 요소를 보내는 낙타 경로를 작성하려고합니다.카멜에서 메시지 나누기
메시지 본문은 2 xml의 목록입니다. 예를 들면 :
<Cat>
<Name>Cat1</Name>
</Cat>,
<Dog>
<Name>Dog1</Name>
</Dog>
지금, 내가 즉 CAT1 부분이 queue1을 할 수있는 메시지와 다른 큐에 XML 즉 Dog1의 '개'부분의 '캣'부분을 보낼 필요가?
이것은 내가 가지고있는 경로이지만, 노력하지 않는 : 내가 잘못 여기서 뭐하는 거지에서
<route>
<from uri="jms:queue:InQueue" />
<choice>
<when>
<simple>${in.body} regex 'Cat'</simple>
<to uri="jms:queue:CatQueue" />
</when>
<when>
<simple>${in.body} regex 'Dog'</simple>
<to uri="jms:queue:DogQueue" />
</when>
</choice>
</route>
어떤 아이디어?
'Cat'xml은 cat 큐에 올바르게 라우팅됩니다. 하지만 Dog xml은 전혀 라우팅되지 않고 있습니다. 목록의 첫 번째 요소 (예 : 고양이)를 라우팅 한 다음 반환하는 것은 두 번째 요소 (개)에 전혀 신경을 쓰지 않습니다 .. – user1717230
' Cat1 , Dog1 '을 입력 문자열로 사용하고 모든 것이 예상대로 작동했습니다. 당신은 당신의 로그 출력을 다음 봤어 :'분할에서 작업 : CAT1 '와'분할에서 작업 : Dog1 '를? –
내 잘못 ... 나는 그것을 잘못 본 ... 그것은 작동 ... 고마워 ...하지만 XML에 네임 스페이스가 있다면 어때? 네임 스페이스에 대한 계정을 바꾸려면 어떻게해야합니까? 예를 들면 : <고양이의 xmlns = 'http://www.openapplications.org/oagis/9 "의 xmlns : LW ="http://www.org/oagis/9 "> CAT1 , <개의 xmlns =' http://www.openapplications.org/oagis/9 "xmlns : lw ="http://www.org/oagis/9 "> Dog1 –
user1717230