Маршрутное сообщение из Active MQ Queue1 в Queue2 без изменений с использованием верблюда - PullRequest
0 голосов
/ 29 февраля 2020

Когда я получаю сообщение AMQ из очереди 1 и просто отправляю его в очередь 2, сообщение, попавшее в очередь 2, имеет:

1) messageId исходного сообщения, которое теперь заполнено в заголовке breadcrumbId.

2) новый идентификатор сообщения.

Могу ли я просто передать сообщение без изменений, сохранив таким образом идентификатор сообщения?

Я пытался forceSendOriginalMessage=true (а также mapJmsMessage=false) как показано ниже, но это не имеет значения.

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

спасибо за любой совет

n

1 Ответ

1 голос
/ 29 февраля 2020

Вы не можете оставить JMSMessageID таким же. В соответствии с specs это спецификация JMS-провайдера c.

Когда сообщение отправлено, JMSMessageID можно игнорировать. Когда возвращается метод Send или Publi sh, он содержит назначенное поставщиком значение.

Параметр forceSendOriginalMessage позволяет отправлять исходное сообщение, а не его копию.

...