From 8df8a51810e841e79cd8b4726379ecf547a624ff Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Fri, 17 Oct 2008 15:24:31 +0000 Subject: [PATCH] JmsOutboundGateway now builds a copy of the request Message prior to sending since non-serializable header values will be removed when a JMS ObjectMessage is propagated. --- .../springframework/integration/jms/JmsOutboundGateway.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsOutboundGateway.java b/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsOutboundGateway.java index 84f3b99bf8..47cdb13828 100644 --- a/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsOutboundGateway.java +++ b/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsOutboundGateway.java @@ -27,6 +27,7 @@ import javax.jms.Session; import org.springframework.integration.core.Message; import org.springframework.integration.endpoint.AbstractReplyProducingMessageConsumer; import org.springframework.integration.endpoint.ReplyMessageHolder; +import org.springframework.integration.message.MessageBuilder; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.SessionCallback; import org.springframework.jms.support.converter.MessageConverter; @@ -56,7 +57,8 @@ public class JmsOutboundGateway extends AbstractReplyProducingMessageConsumer { } @Override - protected void onMessage(final Message requestMessage, final ReplyMessageHolder replyMessageHolder) { + protected void onMessage(final Message message, final ReplyMessageHolder replyMessageHolder) { + final Message requestMessage = MessageBuilder.fromMessage(message).build(); this.jmsTemplate.execute(new SessionCallback() { public Object doInJms(Session session) throws JMSException { Assert.state(session instanceof QueueSession,