Fixes For Final Spring 4 Polishing

- MessageConverter moved
- MessagingException.failedMessage is immutable
- Cast needed on messagingTemplate.receive()
This commit is contained in:
Gary Russell
2013-12-06 15:22:01 -05:00
parent feec3eaf84
commit 8dd9340f36
11 changed files with 25 additions and 15 deletions

View File

@@ -144,7 +144,7 @@ public class BroadcastingDispatcher extends AbstractDispatcher {
catch (RuntimeException e) {
if (!this.ignoreFailures) {
if (e instanceof MessagingException && ((MessagingException) e).getFailedMessage() == null) {
((MessagingException) e).setFailedMessage(message);
throw new MessagingException(message, e);
}
throw e;
}

View File

@@ -122,7 +122,7 @@ public class UnicastingDispatcher extends AbstractDispatcher {
"Dispatcher failed to deliver Message.", e);
if (e instanceof MessagingException &&
((MessagingException) e).getFailedMessage() == null) {
((MessagingException) e).setFailedMessage(message);
runtimeException = new MessagingException(message, e);
}
exceptions.add(runtimeException);
this.handleExceptions(exceptions, message, !handlerIterator.hasNext());

View File

@@ -89,7 +89,7 @@ public class RequestHandlerRetryAdvice extends AbstractRequestHandlerAdvice
}
catch (MessagingException e) {
if (e.getFailedMessage() == null) {
e.setFailedMessage(message);
throw new MessagingException(message, e);
}
throw e;
}

View File

@@ -22,7 +22,7 @@ import java.util.Map;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.support.converter.MessageConverter;
import org.springframework.messaging.converter.MessageConverter;
import org.springframework.util.Assert;
/**

View File

@@ -21,8 +21,8 @@ import org.springframework.integration.mapping.OutboundMessageMapper;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.support.converter.MessageConversionException;
import org.springframework.messaging.support.converter.MessageConverter;
import org.springframework.messaging.converter.MessageConversionException;
import org.springframework.messaging.converter.MessageConverter;
/**
* @author Mark Fisher

View File

@@ -19,15 +19,18 @@ package org.springframework.integration.endpoint;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.messaging.support.GenericMessage;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessagingException;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.core.DestinationResolutionException;
import org.springframework.messaging.support.GenericMessage;
/**
* @author Mark Fisher
@@ -98,14 +101,19 @@ public class ReturnAddressTests {
assertNull(channel2.receive(0));
}
@Test(expected = DestinationResolutionException.class)
@Test
public void returnAddressFallbackButNotAvailable() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"returnAddressTests.xml", this.getClass());
MessageChannel channel3 = (MessageChannel) context.getBean("channel3");
context.start();
GenericMessage<String> message = new GenericMessage<String>("*");
channel3.send(message);
try {
channel3.send(message);
}
catch (MessagingException e) {
assertTrue(e.getCause() instanceof DestinationResolutionException);
}
}
@Test

View File

@@ -17,7 +17,7 @@ package org.springframework.integration.ip.tcp.connection;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.converter.MessageConverter;
import org.springframework.messaging.converter.MessageConverter;
import org.springframework.util.Assert;
/**

View File

@@ -30,8 +30,10 @@ import javax.sql.DataSource;
import org.junit.After;
import org.junit.Test;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.core.MessagingTemplate;
import org.springframework.integration.endpoint.SourcePollingChannelAdapter;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.test.util.TestUtils;
@@ -40,7 +42,6 @@ import org.springframework.jdbc.core.namedparam.AbstractSqlParameterSource;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.PollableChannel;
import org.springframework.integration.core.MessagingTemplate;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.TransactionCallback;
@@ -150,7 +151,8 @@ public class JdbcPollingChannelAdapterParserTests {
});
int count = 0;
while (count < 4) {
Message<List<?>> message = messagingTemplate.receive();
@SuppressWarnings("unchecked")
Message<List<?>> message = (Message<List<?>>) messagingTemplate.receive();
assertNotNull(message);
int payloadSize = message.getPayload().size();
assertTrue(payloadSize <= 2);

View File

@@ -42,7 +42,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageDeliveryException;
import org.springframework.messaging.MessageHandler;
import org.springframework.messaging.SubscribableChannel;
import org.springframework.messaging.support.converter.MessageConverter;
import org.springframework.messaging.converter.MessageConverter;
import org.springframework.util.Assert;
import org.springframework.util.ErrorHandler;
import org.springframework.util.StringUtils;

View File

@@ -30,7 +30,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.integration.endpoint.MessageProducerSupport;
import org.springframework.integration.support.converter.SimpleMessageConverter;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.converter.MessageConverter;
import org.springframework.messaging.converter.MessageConverter;
import org.springframework.util.Assert;
/**

View File

@@ -27,7 +27,7 @@ import org.springframework.integration.expression.IntegrationEvaluationContextAw
import org.springframework.integration.handler.AbstractMessageHandler;
import org.springframework.integration.support.converter.SimpleMessageConverter;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.converter.MessageConverter;
import org.springframework.messaging.converter.MessageConverter;
import org.springframework.util.Assert;
/**