Apache camel 使用驼峰将消息从活动MQ队列1路由到队列2

Apache camel 使用驼峰将消息从活动MQ队列1路由到队列2,apache-camel,jms,activemq,Apache Camel,Jms,Activemq,当我使用队列1中的AMQ消息并将其发送到队列2时,已到达队列2的消息具有: 1) 原始消息上的messageId现在填充在面包屑标头中 2) 一个新的messageId 我是否可以不更改消息传输,从而保持消息ID不变 我已经尝试了下面的forceSendOriginalMessage=true(还有mapJmsMessage=false),但这没有什么区别 from("cMQConnectionFactory1:queue:queue1?forceSendOriginalMessage=tru

当我使用队列1中的AMQ消息并将其发送到队列2时,已到达队列2的消息具有:

1) 原始消息上的messageId现在填充在面包屑标头中

2) 一个新的messageId

我是否可以不更改消息传输,从而保持消息ID不变

我已经尝试了下面的
forceSendOriginalMessage=true
(还有
mapJmsMessage=false
),但这没有什么区别

 from("cMQConnectionFactory1:queue:queue1?forceSendOriginalMessage=true")
 .to("cMQConnectionFactory1:queue:queue2")
谢谢你的建议


n

您不能保持JMSMessageID不变。根据,它是特定于JMS提供程序的

发送消息时,可以忽略JMSMessageID。当发送或 Publish方法返回,它包含提供程序指定的值


参数
forceSendOriginalMessage
允许您发送原始消息,而不是其副本。

很遗憾,此行为已被修复。我有两条路由发送到同一个direct:endpoint。来自一个路由的消息在实际messageId字段中具有我想要的messageId,来自另一个路由的消息在breadcrumbId中具有我想要的messageId。我希望我不需要检查面包屑盘的存在,但我必须。。。。