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:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user