diff --git a/spring-integration-jms/.springBeans b/spring-integration-jms/.springBeans
index f8e5a5287d..7b959d0f8f 100644
--- a/spring-integration-jms/.springBeans
+++ b/spring-integration-jms/.springBeans
@@ -8,7 +8,6 @@
src/test/java/org/springframework/integration/jms/config/GlobalChannelInterceptorTests-context.xml
- src/test/java/org/springframework/integration/jms/config/JmsChannelHistory-context.xml
diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelHistory-context.xml b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelHistory-context.xml
deleted file mode 100644
index b44b85847e..0000000000
--- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelHistory-context.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelHistoryTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelHistoryTests.java
index 0b4b8e8195..bf6a9ee889 100644
--- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelHistoryTests.java
+++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelHistoryTests.java
@@ -16,20 +16,22 @@
package org.springframework.integration.jms.config;
import static junit.framework.Assert.assertTrue;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import org.junit.Test;
import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+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.MessagingException;
-import org.springframework.integration.core.MessageHandler;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.jms.SubscribableJmsChannel;
import org.springframework.integration.message.GenericMessage;
+import org.springframework.jms.core.JmsTemplate;
+import org.springframework.jms.listener.AbstractMessageListenerContainer;
/**
* @author Oleg Zhurakousky
@@ -37,27 +39,26 @@ import org.springframework.integration.message.GenericMessage;
*/
public class JmsChannelHistoryTests {
+ @SuppressWarnings("rawtypes")
@Test
public void testMessageHistory() throws Exception{
- ActiveMqTestUtils.prepare();
- ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("JmsChannelHistory-context.xml", this.getClass());
- SubscribableJmsChannel jmsChannel = ac.getBean("jmsChannel", SubscribableJmsChannel.class);
- JmsService service = ac.getBean("subscriber", JmsService.class);
+ AbstractMessageListenerContainer mlContainer = mock(AbstractMessageListenerContainer.class);
+ JmsTemplate template = mock(JmsTemplate.class);
+ SubscribableJmsChannel channel = new SubscribableJmsChannel(mlContainer, template);
+ channel.setShouldTrack(true);
+ channel.setBeanName("jmsChannel");
+ Message message = new GenericMessage("hello");
- jmsChannel.send(new GenericMessage("hello"));
- Thread.sleep(5000);
- verify(service, times(1)).handleMessage(Mockito.any(Message.class));
- ac.destroy();
- }
-
- public static interface JmsGateway{
- public Long echo(String time);
- }
-
- public static class JmsService implements MessageHandler{
- public void handleMessage(Message> message) throws MessagingException {
- MessageHistory history = MessageHistory.read(message);
- assertTrue(history.contains("jmsChannel"));
- }
+ doAnswer(new Answer() {
+ @SuppressWarnings("unchecked")
+ public Object answer(InvocationOnMock invocation) {
+ Message msg = (Message) invocation.getArguments()[0];
+ MessageHistory history = MessageHistory.read(msg);
+ assertTrue(history.get(0).contains("jmsChannel"));
+ return null;
+ }})
+ .when(template).convertAndSend(Mockito.any(Message.class));
+ channel.send(message);
+ verify(template, times(1)).convertAndSend(Mockito.any(Message.class));
}
}