使用骆驼将消息从 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
允许您发送原始消息,而不是副本。
当我使用来自 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
允许您发送原始消息,而不是副本。