From 9869e02666854072173a7867837b9ba3cf7a1689 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 23 Jul 2010 17:52:31 +0000 Subject: [PATCH] INT-1242 added support for header mapper --- .../integration/jms/JmsSendingMessageHandler.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/spring-integration-jms/src/main/java/org/springframework/integration/jms/JmsSendingMessageHandler.java b/spring-integration-jms/src/main/java/org/springframework/integration/jms/JmsSendingMessageHandler.java index 973525b45f..a1fe21bf25 100644 --- a/spring-integration-jms/src/main/java/org/springframework/integration/jms/JmsSendingMessageHandler.java +++ b/spring-integration-jms/src/main/java/org/springframework/integration/jms/JmsSendingMessageHandler.java @@ -16,10 +16,16 @@ package org.springframework.integration.jms; +import javax.jms.JMSException; + import org.springframework.core.Ordered; import org.springframework.integration.core.Message; +import org.springframework.integration.message.HeaderMapper; import org.springframework.integration.message.MessageHandler; import org.springframework.jms.core.JmsTemplate; +import org.springframework.jms.core.MessagePostProcessor; + +import com.sun.xml.internal.messaging.saaj.packaging.mime.MessagingException; /** * A MessageConsumer that sends the converted Message payload within @@ -57,6 +63,12 @@ public class JmsSendingMessageHandler extends AbstractJmsTemplateBasedAdapter im if (message == null) { throw new IllegalArgumentException("message must not be null"); } - this.getJmsTemplate().convertAndSend(message); + this.getJmsTemplate().convertAndSend(message, new MessagePostProcessor() { + public javax.jms.Message postProcessMessage(javax.jms.Message jmsMessage) + throws JMSException { + getHeaderMapper().fromHeaders(message.getHeaders(), jmsMessage); + return jmsMessage; + } + }); } }