【发布时间】:2017-08-04 17:48:43
【问题描述】:
如何在骆驼路线生产者中获取 JMSMessageID(使用 Spring 上下文), JMSMessageID 需要由 MQ 服务器生成,就像它与原生 JMS 一样。
在camel's documentation JMSMessageID 在“消费者”部分, "Camel 在收到 JMS 消息时将以下 JMS 属性添加到 In 消息头", 但我需要在发送后从生产者那里获得它。
我可以将 tmpReply 队列与骆驼的 InOut 一起使用。
我想,我需要使用MessagePostProcessor,或MessageSentCallback,但我不知道如何。
非常感谢!
【问题讨论】:
-
JMS 客户端发送消息后,JMSMessageID 由 Camel 自动设置,因此您将其作为 Camel 消息实例上的 messageId
-
应该是,但是in.header、in.body和out都是空的。可能是我设置错误?骆驼版本是2.18.1
-
您使用什么 JMS 客户端/代理?可能是发送的时候没有提供message id。
-
我使用:springframework 4.3、spring-context、camel-core、camel-spring
-
我想是 org.apache.camel.component.jms
标签: java apache-camel jms spring-jms