JmsTarget and JmsSource now check if the provided messageConverter is already a HeaderMappingMessageConverter and if so do not wrap it again (INT-304).

This commit is contained in:
Mark Fisher
2008-07-18 14:50:21 +00:00
parent 2db30ae829
commit a3b1c59d10
2 changed files with 3 additions and 22 deletions

View File

@@ -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;
}
}

View File

@@ -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");