Build on top of Spring 4's new messaging types

This commit updates Spring Integration to depend upon Spring 4, making
use of the message types that have moved from Spring Integration into
Spring's new spring-messaging module.

The default message converter no longer supports conversion of a
message that is null, throwing an IllegalArgumentException if an
attempt is made to convert null. Furthermore, GenericMessagingTemplate
does not support sending null, again throwing an
IllegalArgumentException. Previously, MessagingTemplate had no-oped an
attempt to send null.

ConcurrentAggregatorTests and AggregatorTests both had a single test
that was specifically testing the behaviour of an aggregator that
returns null for its message. These tests have been removed.

CorrelatingMessageHandlerTests have been updated to specify some
additional behaviour for its mocks so that null messages are not
returned.

These are the only functional changes that have been made. All other
changes are simply for moving to the repackaged and/or renamed types.

In the move to being part of core Spring, a number of constants and
header accessor methods have moved from MessageHeaders to
MessageHeaderAccessor. This commit continues this pattern for
the enterprise integration headers that are specific to Spring
Integration. A new class, EiMessageHeaderAccessor, has been created.
This class provides constants and methods for working with SI-specific
headers. The main code and tests have been updated to use this new
class.
This commit is contained in:
Andy Wilkinson
2013-09-10 13:35:53 +01:00
committed by Gary Russell
parent 8dca61c62a
commit 28ab8394de
1156 changed files with 3332 additions and 5834 deletions

View File

@@ -66,7 +66,7 @@ import org.springframework.expression.Expression;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.core.PollableChannel;
import org.springframework.messaging.PollableChannel;
import org.springframework.integration.handler.AbstractReplyProducingMessageHandler;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.mail.ImapIdleChannelAdapter.ImapIdleExceptionEvent;
@@ -389,7 +389,7 @@ public class ImapMailReceiverTests {
PollableChannel channel = context.getBean("channel", PollableChannel.class);
adapter.start();
org.springframework.integration.Message<?> replMessage = channel.receive(10000);
org.springframework.messaging.Message<?> replMessage = channel.receive(10000);
MessageHistory history = MessageHistory.read(replMessage);
assertNotNull(history);
Properties componentHistoryRecord = TestUtils.locateComponentInHistory(history, "simpleAdapter", 0);
@@ -411,7 +411,7 @@ public class ImapMailReceiverTests {
DirectChannel channel = new DirectChannel();
channel.subscribe(new AbstractReplyProducingMessageHandler() {
@Override
protected Object handleRequestMessage(org.springframework.integration.Message<?> requestMessage) {
protected Object handleRequestMessage(org.springframework.messaging.Message<?> requestMessage) {
throw new RuntimeException("Failed");
}
});
@@ -463,7 +463,7 @@ public class ImapMailReceiverTests {
}).when(receiver).fetchMessages(messages);
adapter.start();
org.springframework.integration.Message<?> replMessage = errorChannel.receive(10000);
org.springframework.messaging.Message<?> replMessage = errorChannel.receive(10000);
assertNotNull(replMessage);
assertEquals("Failed", ((Exception) replMessage.getPayload()).getCause().getMessage());
adapter.stop();

View File

@@ -34,7 +34,7 @@ import org.junit.runner.RunWith;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.integration.MessageChannel;
import org.springframework.messaging.MessageChannel;
import org.springframework.integration.mapping.MessageMappingException;
import org.springframework.integration.message.GenericMessage;
import org.springframework.integration.support.MessageBuilder;
@@ -84,7 +84,7 @@ public class MailSendingMessageHandlerContextTests {
@Test
public void byteArrayMessage() throws Exception {
byte[] payload = {1, 2, 3};
org.springframework.integration.Message<?> message =
org.springframework.messaging.Message<?> message =
MessageBuilder.withPayload(payload)
.setHeader(MailHeaders.ATTACHMENT_FILENAME, "attachment.txt")
.setHeader(MailHeaders.TO, MailTestsHelper.TO)

View File

@@ -72,7 +72,7 @@ public class MailSendingMessageHandlerTests {
@Test
public void byteArrayMessage() throws Exception {
byte[] payload = {1, 2, 3};
org.springframework.integration.Message<byte[]> message =
org.springframework.messaging.Message<byte[]> message =
MessageBuilder.withPayload(payload)
.setHeader(MailHeaders.ATTACHMENT_FILENAME, "attachment.txt")
.setHeader(MailHeaders.TO, MailTestsHelper.TO)

View File

@@ -20,7 +20,7 @@ import static org.mockito.Mockito.mock;
import javax.mail.Folder;
import org.springframework.integration.Message;
import org.springframework.messaging.Message;
import org.springframework.integration.mail.MailReceiver.MailReceiverContext;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.integration.test.util.TestUtils;

View File

@@ -34,7 +34,7 @@ import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.ApplicationContext;
import org.springframework.integration.MessageChannel;
import org.springframework.messaging.MessageChannel;
import org.springframework.integration.mail.ImapIdleChannelAdapter;
import org.springframework.integration.mail.ImapMailReceiver;
import org.springframework.integration.mail.SearchTermStrategy;

View File

@@ -37,7 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.MessageChannel;
import org.springframework.messaging.MessageChannel;
import org.springframework.integration.endpoint.SourcePollingChannelAdapter;
import org.springframework.integration.mail.AbstractMailReceiver;
import org.springframework.integration.mail.ImapIdleChannelAdapter;

View File

@@ -22,14 +22,13 @@ import java.util.Map;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.integration.Message;
import org.springframework.integration.MessageChannel;
import org.springframework.integration.core.MessagingTemplate;
import org.springframework.integration.mail.MailHeaders;
import org.springframework.integration.message.GenericMessage;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.core.GenericMessagingTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -48,7 +47,8 @@ public class MailHeaderEnricherTests {
@Test
public void literalValues() {
MessagingTemplate template = new MessagingTemplate(literalValuesInput);
GenericMessagingTemplate template = new GenericMessagingTemplate();
template.setDefaultDestination(literalValuesInput);
Message<?> result = template.sendAndReceive(new GenericMessage<String>("test"));
Map<String, Object> headers = result.getHeaders();
assertEquals("test.to", headers.get(MailHeaders.TO));
@@ -63,7 +63,8 @@ public class MailHeaderEnricherTests {
@Test
public void expressions() {
MessagingTemplate template = new MessagingTemplate(expressionsInput);
GenericMessagingTemplate template = new GenericMessagingTemplate();
template.setDefaultDestination(expressionsInput);
Message<?> result = template.sendAndReceive(new GenericMessage<String>("foo"));
Map<String, Object> headers = result.getHeaders();
assertEquals("foo.to", headers.get(MailHeaders.TO));

View File

@@ -25,9 +25,9 @@ import org.junit.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.Message;
import org.springframework.messaging.Message;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.core.MessageHandler;
import org.springframework.messaging.MessageHandler;
import org.springframework.integration.endpoint.PollingConsumer;
import org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice;
import org.springframework.integration.mail.MailSendingMessageHandler;

View File

@@ -24,14 +24,13 @@ import javax.mail.internet.MimeMessage;
import org.easymock.classextension.EasyMock;
import org.junit.Test;
import org.springframework.beans.factory.BeanDefinitionStoreException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.Message;
import org.springframework.integration.MessageChannel;
import org.springframework.integration.core.PollableChannel;
import org.springframework.integration.message.GenericMessage;
import org.springframework.integration.support.channel.BeanFactoryChannelResolver;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.core.BeanFactoryMessageChannelDestinationResolver;
/**
* @author Mark Fisher
@@ -42,8 +41,8 @@ public class MailToStringTransformerParserTests {
public void topLevelTransformer() throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"mailToStringTransformerParserTests.xml", this.getClass());
MessageChannel input = new BeanFactoryChannelResolver(context).resolveChannelName("input");
PollableChannel output = (PollableChannel) new BeanFactoryChannelResolver(context).resolveChannelName("output");
MessageChannel input = new BeanFactoryMessageChannelDestinationResolver(context).resolveDestination("input");
PollableChannel output = (PollableChannel) new BeanFactoryMessageChannelDestinationResolver(context).resolveDestination("output");
MimeMessage mimeMessage = EasyMock.createNiceMock(MimeMessage.class);
EasyMock.expect(mimeMessage.getContent()).andReturn("hello");
EasyMock.replay(mimeMessage);
@@ -58,8 +57,8 @@ public class MailToStringTransformerParserTests {
public void transformerWithinChain() throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"mailToStringTransformerWithinChain.xml", this.getClass());
MessageChannel input = new BeanFactoryChannelResolver(context).resolveChannelName("input");
PollableChannel output = (PollableChannel) new BeanFactoryChannelResolver(context).resolveChannelName("output");
MessageChannel input = new BeanFactoryMessageChannelDestinationResolver(context).resolveDestination("input");
PollableChannel output = (PollableChannel) new BeanFactoryMessageChannelDestinationResolver(context).resolveDestination("output");
MimeMessage mimeMessage = EasyMock.createNiceMock(MimeMessage.class);
EasyMock.expect(mimeMessage.getContent()).andReturn("foo");
EasyMock.replay(mimeMessage);

View File

@@ -37,8 +37,8 @@ import org.mockito.stubbing.Answer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.Message;
import org.springframework.integration.MessageChannel;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.integration.mail.MailHeaders;
import org.springframework.integration.mail.MailSendingMessageHandler;
import org.springframework.integration.message.GenericMessage;