INT-1263, more MessageHistory related changes

This commit is contained in:
Oleg Zhurakousky
2010-09-22 22:18:45 -04:00
parent d7e1041ed4
commit 0be4d2ef60
15 changed files with 78 additions and 19 deletions

View File

@@ -50,6 +50,7 @@ public class ChannelPublishingJmsMessageListener extends MessagingGatewaySupport
implements SessionAwareMessageListener<javax.jms.Message>, InitializingBean {
private volatile boolean expectReply;
private volatile String componentType = "jms:inbound-gateway";
private volatile MessageConverter messageConverter = new SimpleMessageConverter();
@@ -72,9 +73,11 @@ public class ChannelPublishingJmsMessageListener extends MessagingGatewaySupport
private volatile JmsHeaderMapper headerMapper = new DefaultJmsHeaderMapper();
public String getComponentType(){
return "jms:inbound-gateway";
return componentType;
}
void setComponentType(String componentType){
this.componentType = componentType;
}
/**
* Specify whether a JMS reply Message is expected.
*/

View File

@@ -54,6 +54,7 @@ public class JmsMessageDrivenEndpoint extends AbstractEndpoint implements Dispos
this.listenerContainer.afterPropertiesSet();
}
listener.setComponentName(this.getComponentName());
listener.setComponentType("jms:message-driven-channel-adapter");
}
@Override
@@ -74,5 +75,9 @@ public class JmsMessageDrivenEndpoint extends AbstractEndpoint implements Dispos
}
this.listenerContainer.destroy();
}
public String getComponetType(){
return "jms:message-driven-channel-adapter";
}
}

View File

@@ -20,6 +20,8 @@ import static junit.framework.Assert.assertTrue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.Properties;
import org.junit.Test;
import org.springframework.beans.factory.BeanCreationException;
@@ -29,6 +31,7 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.Message;
import org.springframework.integration.core.PollableChannel;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.test.util.TestUtils;
/**
* @author Mark Fisher
@@ -44,7 +47,10 @@ public class JmsInboundChannelAdapterParserTests {
PollableChannel output = (PollableChannel) context.getBean("output");
Message<?> message = output.receive(timeoutOnReceive);
MessageHistory history = MessageHistory.read(message);
assertTrue(history.containsComponent("inboundAdapter"));
assertNotNull(history);
Properties componentHistoryRecord = TestUtils.locateComponentInHistory(history, "inboundAdapter", 0);
assertNotNull(componentHistoryRecord);
assertEquals("jms:inbound-channel-adapter", componentHistoryRecord.get("type"));
assertNotNull("message should not be null", message);
assertEquals("polling-test", message.getPayload());
}

View File

@@ -21,6 +21,8 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.util.Properties;
import javax.jms.DeliveryMode;
import org.junit.Test;
@@ -33,6 +35,7 @@ import org.springframework.integration.core.PollableChannel;
import org.springframework.integration.history.HistoryWritingMessagePostProcessor;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.jms.JmsMessageDrivenEndpoint;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.jms.connection.JmsTransactionManager;
import org.springframework.jms.listener.AbstractMessageListenerContainer;
import org.springframework.jms.support.destination.JmsDestinationAccessor;
@@ -52,7 +55,10 @@ public class JmsInboundGatewayParserTests {
context.start();
Message<?> message = channel.receive(3000);
MessageHistory history = MessageHistory.read(message);
assertTrue(history.containsComponent("jmsGateway"));
assertNotNull(history);
Properties componentHistoryRecord = TestUtils.locateComponentInHistory(history, "jmsGateway", 0);
assertNotNull(componentHistoryRecord);
assertEquals("jms:inbound-gateway", componentHistoryRecord.get("type"));
assertNotNull("message should not be null", message);
assertEquals("message-driven-test", message.getPayload());
context.stop();

View File

@@ -20,6 +20,8 @@ import static junit.framework.Assert.assertTrue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.Properties;
import org.junit.Test;
import org.springframework.beans.DirectFieldAccessor;
@@ -28,6 +30,7 @@ import org.springframework.integration.Message;
import org.springframework.integration.core.PollableChannel;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.jms.JmsMessageDrivenEndpoint;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.jms.support.destination.JmsDestinationAccessor;
/**
@@ -35,7 +38,7 @@ import org.springframework.jms.support.destination.JmsDestinationAccessor;
*/
public class JmsMessageDrivenChannelAdapterParserTests {
long timeoutOnReceive = 3000;
long timeoutOnReceive = 300000;
@Test
public void adapterWithMessageSelector() {
@@ -44,7 +47,12 @@ public class JmsMessageDrivenChannelAdapterParserTests {
PollableChannel output = (PollableChannel) context.getBean("output2");
Message<?> message = output.receive(timeoutOnReceive);
MessageHistory history = MessageHistory.read(message);
assertTrue(history.containsComponent("messageDrivenAdapter"));
assertNotNull(history);
Properties componentHistoryRecord = TestUtils.locateComponentInHistory(history, "messageDrivenAdapter", 0);
assertNotNull(componentHistoryRecord);
JmsMessageDrivenEndpoint o = context.getBean("messageDrivenAdapter", JmsMessageDrivenEndpoint.class);
System.out.println(o.getComponentType());
assertEquals("jms:message-driven-channel-adapter", componentHistoryRecord.get("type"));
assertNotNull("message should not be null", message);
assertEquals("test [with selector: TestProperty = 'foo']", message.getPayload());
}

View File

@@ -16,11 +16,14 @@
package org.springframework.integration.jms.config;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import java.util.Properties;
import org.junit.Test;
import org.mockito.Mockito;
import org.springframework.beans.DirectFieldAccessor;
@@ -36,6 +39,7 @@ import org.springframework.integration.endpoint.PollingConsumer;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.jms.JmsOutboundGateway;
import org.springframework.integration.jms.StubMessageConverter;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.jms.support.converter.MessageConverter;
/**
@@ -77,7 +81,10 @@ public class JmsOutboundGatewayParserTests {
MessageHandler handler = new MessageHandler() {
public void handleMessage(Message<?> message) throws MessagingException {
MessageHistory history = MessageHistory.read(message);
assertTrue(history.containsComponent("inboundGateway"));
assertNotNull(history);
Properties componentHistoryRecord = TestUtils.locateComponentInHistory(history, "inboundGateway", 0);
assertNotNull(componentHistoryRecord);
assertEquals("jms:inbound-gateway", componentHistoryRecord.get("type"));
new MessagingTemplate((MessageChannel) message.getHeaders().getReplyChannel()).send(message);
}
};