는 내가 메시지를 생성하는 내 서비스 중 하나에이 빈을 주입하고 Camel ProducerTemplate은 모든 메시지에 동일한 JMSCorrelationID를 사용하고 생성 된 각 메시지에 대해 고유 ID를 얻는 방법은 무엇입니까?
<camel:template id="msgProducerTemplate" />
낙타
를 사용하여 생산자 템플릿을 정의했다. 이것은 CorrelationID를 생성 생산하고 모든 메시지에 대한msgProducerTemplate.sendBodyAndHeaders(endpointUri, message, headerMap);
내가이 실제 메시지가 동일한 경우에도 각 메시지에 대한 새로운 ID를 생성 할 수있는 방법, 동일합니다. 주제 :
내 endpointUri는 inboundTopic입니다
<bean id="inboundTopic" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="jmsTopicConnectionFactory" />
<property name="destinationResolver" ref="topicDestinationResolver" />
<property name="transacted" value="true" />
<property name="transactionManager" ref="topicTxManager" />
<property name="cacheLevelName" value="CACHE_CONSUMER" />
</bean>
<bean id="topicConnectionFactory" class="com.ibm.mq.jms.MQTopicConnectionFactory">
<property name="hostName" value="${queuehost}" />
<property name="port" value="${queueport}" />
<property name="queueManager" value="${queuemanager}" />
<property name="channel" value="${channel}" />
<property name="transportType" value="${transportType}" />
</bean>
<bean id="jmsTopicConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="topicConnectionFactory" />
<property name="username">
<value>${userid}</value>
</property>
</bean>
<bean id="topicDestinationResolver" class="com.abc.jms.JMSTopicDestinationResolver" />
그것은 당신이 JMS 구성 요소와 당신은 더 자세한 정보를 제공 할 필요가 등으로 보내는 JMS 엔드 포인트를 구성 방법에 따라 달라집니다, 또한 JMS 구성 요소 및 방법 요청/작품 회신에 대한 자세한 내용을 읽어 보시기 바랍니다. –
@ClausIbsen이 질문을 업데이트했습니다. – Sri
그리고 생성자 템플릿에 전달하는 헤더에 기존 JMSCorrelationID를 제공하지 않았습니까? 예를 들어 DEBUG/TRACE 로깅을 디버그 및/또는 활성화하고 진행 상황을 볼 수 있습니다. –