요청/응답 방식으로 호출되도록 지정된 JMS (activemq) 큐에서 소모하는 낙타 경로가 있습니다. 이 경로에서 메시지를 분리하고 또 다른 activemq 대기열을 호출합니다 (요청/응답 방식으로도).Apache Camel 라우트에서 들어오는 JMSCorrelationId 처리
는 Heres는 상황
<route>
<from uri="activemq:A" />
<split>
<xpath>/root/subpart</xpath>
<inOut uri="activemq:B" />
</split>
</route>
문제를 보여주는 최소한의 경로는 (이미 수신 메시지에서 하나 있기 때문에) 낙타는 새로운 JMSCorrelationID로 설정하지 않습니다. 아무 것도하지 않으면 알 수없는 correlationId로 응답을 얻고 교환은 끝나지 않습니다.
세부 사항에 대해서는 언급하지 않았지만 동일한 추측 값은 구멍 분리기에 사용되지만 논리적으로는 각 메시지마다 다른 상관 관계 ID가 필요합니다. 모두 동일을 사용하여, 그것은 첫 번째를 수신하고 다른 사람들과 무엇을 해야할지 모릅니다.
상황을 처리하는 가장 좋은 해결책은 무엇입니까?
내가 발견 한 작업은 다른 헤더에 들어오는 JMSCorrelationId (확실한 것은 아닌지)를 저장하고 제거하는 것입니다. 이것은 내가 원하는 것처럼 깨끗한 것은 아니지만 다른 것을 생각할 수는 없습니다. 어떤 아이디어?