diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java index 878a0d5ad7..8505ec20a7 100755 --- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java +++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java @@ -1756,13 +1756,12 @@ public class ActiveMQSession implements Session, QueueSession, TopicSession, Sta // transform to our own message format here ActiveMQMessage msg = ActiveMQMessageTransformation.transformMessage(message, connection); - msg.setDestination(destination); + msg.setDestination(destination); + msg.setMessageId(new MessageId(producer.getProducerInfo().getProducerId(), sequenceNumber)); // Set the message id. - if (msg == message) { - msg.setMessageId(new MessageId(producer.getProducerInfo().getProducerId(), sequenceNumber)); - } else { - msg.setMessageId(new MessageId(producer.getProducerInfo().getProducerId(), sequenceNumber)); + if (msg != message) { + message.setJMSMessageID(msg.getMessageId().toString()); // Make sure the JMS destination is set on the foreign messages too. message.setJMSDestination(destination); }