From a3b1c59d10fc73abe597e47b0325b57718a79bba Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Fri, 18 Jul 2008 14:50:21 +0000 Subject: [PATCH] JmsTarget and JmsSource now check if the provided messageConverter is already a HeaderMappingMessageConverter and if so do not wrap it again (INT-304). --- .../jms/AbstractJmsTemplateBasedAdapter.java | 4 +++- .../integration/adapter/jms/JmsTarget.java | 21 ------------------- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/AbstractJmsTemplateBasedAdapter.java b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/AbstractJmsTemplateBasedAdapter.java index cb2685c58a..f8c9b1ff63 100644 --- a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/AbstractJmsTemplateBasedAdapter.java +++ b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/AbstractJmsTemplateBasedAdapter.java @@ -111,7 +111,9 @@ public abstract class AbstractJmsTemplateBasedAdapter implements InitializingBea this.jmsTemplate = this.createDefaultJmsTemplate(); } MessageConverter converter = this.jmsTemplate.getMessageConverter(); - this.jmsTemplate.setMessageConverter(new HeaderMappingMessageConverter(converter, this.headerMapper)); + converter = (converter != null && converter instanceof HeaderMappingMessageConverter) ? + converter : new HeaderMappingMessageConverter(converter, this.headerMapper); + this.jmsTemplate.setMessageConverter(converter); this.initialized = true; } } diff --git a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/JmsTarget.java b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/JmsTarget.java index e492eea0e3..b359696f00 100644 --- a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/JmsTarget.java +++ b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/JmsTarget.java @@ -16,12 +16,8 @@ package org.springframework.integration.adapter.jms; -import javax.jms.ConnectionFactory; -import javax.jms.Destination; - import org.springframework.integration.message.Message; import org.springframework.integration.message.MessageTarget; -import org.springframework.jms.core.JmsTemplate; /** * A target for sending JMS Messages. @@ -30,23 +26,6 @@ import org.springframework.jms.core.JmsTemplate; */ public class JmsTarget extends AbstractJmsTemplateBasedAdapter implements MessageTarget { - public JmsTarget(JmsTemplate jmsTemplate) { - super(jmsTemplate); - } - - public JmsTarget(ConnectionFactory connectionFactory, Destination destination) { - super(connectionFactory, destination); - } - - public JmsTarget(ConnectionFactory connectionFactory, String destinationName) { - super(connectionFactory, destinationName); - } - - public JmsTarget() { - super(); - } - - public final boolean send(final Message message) { if (message == null) { throw new IllegalArgumentException("message must not be null");