INT-1242 - refactoring to decouple Message conversion from Message headers mapping

This commit is contained in:
Oleg Zhurakousky
2010-07-22 04:47:04 +00:00
parent 2de8b91e91
commit bdc85ff303
9 changed files with 110 additions and 135 deletions

View File

@@ -61,7 +61,7 @@ public class ChannelPublishingJmsMessageListenerTests {
ChannelPublishingJmsMessageListener listener = new ChannelPublishingJmsMessageListener();
listener.afterPropertiesSet();
Object converter = new DirectFieldAccessor(listener).getPropertyValue("messageConverter");
assertEquals(HeaderMappingMessageConverter.class, converter.getClass());
assertEquals(DefaultMessageConverter.class, converter.getClass());
Object wrappedConverter = new DirectFieldAccessor(converter).getPropertyValue("converter");
assertEquals(SimpleMessageConverter.class, wrappedConverter.getClass());
}
@@ -73,7 +73,7 @@ public class ChannelPublishingJmsMessageListenerTests {
listener.setMessageConverter(originalConverter);
listener.afterPropertiesSet();
Object converter = new DirectFieldAccessor(listener).getPropertyValue("messageConverter");
assertEquals(HeaderMappingMessageConverter.class, converter.getClass());
assertEquals(DefaultMessageConverter.class, converter.getClass());
Object wrappedConverter = new DirectFieldAccessor(converter).getPropertyValue("converter");
assertEquals(originalConverter, wrappedConverter);
}

View File

@@ -22,20 +22,20 @@ import javax.jms.Destination;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.integration.channel.PollableChannel;
import org.springframework.integration.core.Message;
import org.springframework.integration.core.MessageChannel;
import org.springframework.integration.jms.HeaderMappingMessageConverter;
import org.springframework.integration.jms.DefaultJmsHeaderMapper;
import org.springframework.integration.jms.JmsHeaders;
import org.springframework.integration.jms.StubSession;
import org.springframework.integration.jms.StubTextMessage;
import org.springframework.integration.message.StringMessage;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author Mark Fisher
* @author Oleg Zhurakousky
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@@ -58,8 +58,9 @@ public class JmsHeaderEnricherTests {
valueTestInput.send(new StringMessage("test"));
Message<?> result = output.receive(0);
assertEquals(testDestination, result.getHeaders().get(JmsHeaders.REPLY_TO));
HeaderMappingMessageConverter converter = new HeaderMappingMessageConverter();
javax.jms.Message jmsMessage = converter.toMessage(result, new StubSession("foo"));
StubTextMessage jmsMessage = new StubTextMessage();
DefaultJmsHeaderMapper headerMapper = new DefaultJmsHeaderMapper();
headerMapper.fromHeaders(result.getHeaders(), jmsMessage);
assertEquals(testDestination, jmsMessage.getJMSReplyTo());
}
@@ -68,8 +69,9 @@ public class JmsHeaderEnricherTests {
valueTestInput.send(new StringMessage("test"));
Message<?> result = output.receive(0);
assertEquals("ABC", result.getHeaders().get(JmsHeaders.CORRELATION_ID));
HeaderMappingMessageConverter converter = new HeaderMappingMessageConverter();
javax.jms.Message jmsMessage = converter.toMessage(result, new StubSession("foo"));
StubTextMessage jmsMessage = new StubTextMessage();
DefaultJmsHeaderMapper headerMapper = new DefaultJmsHeaderMapper();
headerMapper.fromHeaders(result.getHeaders(), jmsMessage);
assertEquals("ABC", jmsMessage.getJMSCorrelationID());
}
@@ -78,8 +80,9 @@ public class JmsHeaderEnricherTests {
expressionTestInput.send(new StringMessage("test"));
Message<?> result = output.receive(0);
assertEquals(123, result.getHeaders().get(JmsHeaders.CORRELATION_ID));
HeaderMappingMessageConverter converter = new HeaderMappingMessageConverter();
javax.jms.Message jmsMessage = converter.toMessage(result, new StubSession("foo"));
StubTextMessage jmsMessage = new StubTextMessage();
DefaultJmsHeaderMapper headerMapper = new DefaultJmsHeaderMapper();
headerMapper.fromHeaders(result.getHeaders(), jmsMessage);
assertEquals("123", jmsMessage.getJMSCorrelationID());
}