INT-1377, modified tests, parsers and other components to ensure that BeanFactoryChannelResolver is the default one created internally by any router endpoint based on it being BeanFactoryAware

This commit is contained in:
Oleg Zhurakousky
2010-10-13 10:23:15 -04:00
parent b791921a1f
commit 92bce40378
6 changed files with 23 additions and 29 deletions

View File

@@ -41,8 +41,6 @@ public abstract class AbstractChannelNameResolvingRouterParser extends AbstractR
// check if mapping is provided otherwise returned values will be treated as channel names
List<Element> childElements = DomUtils.getChildElementsByTagName(element, "mapping");
if (childElements != null && childElements.size() > 0) {
BeanDefinitionBuilder channelResolverBuilder = BeanDefinitionBuilder.genericBeanDefinition(
IntegrationNamespaceUtils.BASE_PACKAGE + ".support.channel.BeanFactoryChannelResolver");
ManagedMap<String, String> channelMap = new ManagedMap<String, String>();
for (Element childElement : childElements) {
String beanClassName = beanDefinition.getBeanClassName();
@@ -59,7 +57,6 @@ public abstract class AbstractChannelNameResolvingRouterParser extends AbstractR
channelMap.put(key, childElement.getAttribute("channel"));
}
beanDefinition.getPropertyValues().add("channelIdentifierMap", channelMap);
beanDefinition.getPropertyValues().add("channelResolver", channelResolverBuilder.getBeanDefinition());
}
}
return beanDefinition;

View File

@@ -307,14 +307,12 @@ public class MessagingTemplateTests {
@Test
public void sendByChannelNameWithCustomChannelResolver() {
QueueChannel testChannel = new QueueChannel();
// Map<String, MessageChannel> channelMap = new HashMap<String, MessageChannel>();
// channelMap.put("testChannel", testChannel);
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
beanFactory.registerSingleton("testChannel", testChannel);
BeanFactoryChannelResolver channelResolver = new BeanFactoryChannelResolver(beanFactory);
// MapBasedChannelResolver channelResolver = new MapBasedChannelResolver(channelMap);
MessagingTemplate template = new MessagingTemplate();
template.setChannelResolver(channelResolver);
template.setBeanFactory(beanFactory);
template.afterPropertiesSet();
Message<?> message = MessageBuilder.withPayload("test").build();
template.send("testChannel", message);
@@ -360,7 +358,7 @@ public class MessagingTemplateTests {
beanFactory.registerSingleton("testChannel", testChannel);
MessagingTemplate template = new MessagingTemplate();
template.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
template.setBeanFactory(beanFactory);
template.afterPropertiesSet();
Message<?> message = MessageBuilder.withPayload("test").build();
testChannel.send(message);

View File

@@ -75,7 +75,7 @@ public class ErrorMessageExceptionTypeRouterTests {
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel");
router.setChannelIdentifierMap(exceptionTypeChannelMap);
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setDefaultOutputChannel(defaultChannel);
router.handleMessage(message);
@@ -97,7 +97,7 @@ public class ErrorMessageExceptionTypeRouterTests {
exceptionTypeChannelMap.put(RuntimeException.class.getName(), "runtimeExceptionChannel");
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "runtimeExceptionChannel");
router.setChannelIdentifierMap(exceptionTypeChannelMap);
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setDefaultOutputChannel(defaultChannel);
router.handleMessage(message);
@@ -118,7 +118,7 @@ public class ErrorMessageExceptionTypeRouterTests {
Map<String, String> exceptionTypeChannelMap = new HashMap<String, String>();
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel");
router.setChannelIdentifierMap(exceptionTypeChannelMap);
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setDefaultOutputChannel(defaultChannel);
router.handleMessage(message);
assertNotNull(messageHandlingExceptionChannel.receive(1000));
@@ -154,7 +154,7 @@ public class ErrorMessageExceptionTypeRouterTests {
Map<String, String> exceptionTypeChannelMap = new HashMap<String, String>();
exceptionTypeChannelMap.put(MessageDeliveryException.class.getName(), "messageDeliveryExceptionChannel");
router.setChannelIdentifierMap(exceptionTypeChannelMap);
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setResolutionRequired(true);
router.handleMessage(message);
}
@@ -172,7 +172,7 @@ public class ErrorMessageExceptionTypeRouterTests {
exceptionTypeChannelMap.put(RuntimeException.class.getName(), "runtimeExceptionChannel");
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel");
router.setChannelIdentifierMap(exceptionTypeChannelMap);
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setDefaultOutputChannel(defaultChannel);
router.handleMessage(message);
assertNotNull(illegalArgumentChannel.receive(1000));
@@ -193,7 +193,7 @@ public class ErrorMessageExceptionTypeRouterTests {
exceptionTypeChannelMap.put(IllegalArgumentException.class.getName(), "illegalArgumentChannel");
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel");
router.setChannelIdentifierMap(exceptionTypeChannelMap);
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setDefaultOutputChannel(defaultChannel);
router.handleMessage(message);
assertNotNull(illegalArgumentChannel.receive(1000));

View File

@@ -84,7 +84,7 @@ public class MultiChannelRouterTests {
return CollectionUtils.arrayToList(new String[] {"noSuchChannel"});
}
};
router.setChannelResolver(new BeanFactoryChannelResolver(mock(BeanFactory.class)));
router.setBeanFactory(mock(BeanFactory.class));
Message<String> message = new GenericMessage<String>("test");
router.handleMessage(message);
}

View File

@@ -53,14 +53,13 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(Integer.class.getName(), "integerChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelIdentifierMap(payloadTypeChannelMap);
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
Message<String> message1 = new GenericMessage<String>("test");
Message<Integer> message2 = new GenericMessage<Integer>(123);
MessageChannel result1 = router.determineTargetChannels(message1).iterator().next();
MessageChannel result2 = router.determineTargetChannels(message2).iterator().next();
//MessageChannel result1 = router.determineTargetChannel(message1);
//MessageChannel result2 = router.determineTargetChannel(message2);
assertEquals(stringChannel, result1);
assertEquals(integerChannel, result2);
}
@@ -79,7 +78,7 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(Number.class.getName(), "numberChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelIdentifierMap(payloadTypeChannelMap);
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setDefaultOutputChannel(defaultChannel);
Message<Integer> message = new GenericMessage<Integer>(99);
router.handleMessage(message);
@@ -108,7 +107,7 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(Integer.class.getName(), "integerChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setChannelIdentifierMap(payloadTypeChannelMap);
router.setDefaultOutputChannel(defaultChannel);
@@ -136,7 +135,7 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(Comparable.class.getName(), "comparableChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setChannelIdentifierMap(payloadTypeChannelMap);
router.setDefaultOutputChannel(defaultChannel);
@@ -167,7 +166,7 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(Comparable.class.getName(), "comparableChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setChannelIdentifierMap(payloadTypeChannelMap);
router.setDefaultOutputChannel(defaultChannel);
@@ -199,7 +198,7 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(Comparable.class.getName(), "comparableChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setChannelIdentifierMap(payloadTypeChannelMap);
router.setDefaultOutputChannel(defaultChannel);
@@ -233,7 +232,7 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(Serializable.class.getName(), "serializableChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setChannelIdentifierMap(payloadTypeChannelMap);
router.setDefaultOutputChannel(defaultChannel);
@@ -262,7 +261,7 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(Integer.class.getName(), "integerChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setChannelIdentifierMap(payloadTypeChannelMap);
Message<String> message1 = new GenericMessage<String>("test");
@@ -291,7 +290,7 @@ public class PayloadTypeRouterTests {
payloadTypeChannelMap.put(String.class.getName(), "stringChannel");
PayloadTypeRouter router = new PayloadTypeRouter();
router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory));
router.setBeanFactory(beanFactory);
router.setChannelIdentifierMap(payloadTypeChannelMap);
router.setDefaultOutputChannel(defaultChannel);

View File

@@ -151,7 +151,7 @@ public class RouterTests {
return "notImportant";
}
};
router.setChannelResolver(new BeanFactoryChannelResolver(mock(BeanFactory.class)));
router.setBeanFactory(mock(BeanFactory.class));
router.handleMessage(new GenericMessage<String>("this should fail"));
}
@@ -163,7 +163,7 @@ public class RouterTests {
return CollectionUtils.arrayToList(new String[] { "notImportant" });
}
};
router.setChannelResolver(new BeanFactoryChannelResolver(mock(BeanFactory.class)));
router.setBeanFactory(mock(BeanFactory.class));
router.handleMessage(new GenericMessage<String>("this should fail"));
}