使用骆驼将消息从 Activemq 队列 1 路由到队列 2 不变

Route Message from Active MQ Queue1 to Queue2 unchanged using camel

当我使用来自 Queue1 的 AMQ 消息并将其发送到 Queue2 时,到达 Queue2 的消息具有:

1) 原始消息中的 messageId 现在填充在 breadcrumbId 中 header。

2) 一个新的 messageId。

我可以只传输消息不变,从而使 messageId 保持不变吗?

我试过 forceSendOriginalMessage=true(还有 mapJmsMessage=false)如下,但这没有任何区别。

 from("cMQConnectionFactory1:queue:queue1?forceSendOriginalMessage=true")
 .to("cMQConnectionFactory1:queue:queue2")

感谢任何建议

n

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

When a message is sent, JMSMessageID can be ignored. When the Send or Publish method returns, it contains a provider-assigned value.

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