The router hierarchy abstract method names are now 'determineTargetChannel', 'determineTargetChannelNames', etc (instead of "resolve..."). This clarifies the distinction between the target channel decision and the resolution of a channel *name* to a channel instance. The latter is now the responsibility of a ChannelResolver strategy, and all subclasses of AbstractChannelNameResolvingMessageRouter now delegate to a ChannelResolver after 'determineTargetChannelNames' has returned the channel name(s). In most cases, it will be a BeanFactoryChannelResolver.
This commit is contained in:
@@ -35,7 +35,7 @@ public class MultiChannelRouterTests {
|
||||
@Test
|
||||
public void routeWithChannelMapping() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return new String[] {"channel1", "channel2"};
|
||||
}
|
||||
};
|
||||
@@ -60,7 +60,7 @@ public class MultiChannelRouterTests {
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelNameLookupFailure() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return new String[] {"noSuchChannel"};
|
||||
}
|
||||
};
|
||||
@@ -73,7 +73,7 @@ public class MultiChannelRouterTests {
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelMappingNotAvailable() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return new String[] {"noSuchChannel"};
|
||||
}
|
||||
};
|
||||
|
||||
@@ -46,8 +46,8 @@ public class PayloadTypeRouterTests {
|
||||
router.setPayloadTypeChannelMap(payloadTypeChannelMap);
|
||||
Message<String> message1 = new StringMessage("test");
|
||||
Message<Integer> message2 = new GenericMessage<Integer>(123);
|
||||
MessageChannel result1 = router.resolveChannel(message1);
|
||||
MessageChannel result2 = router.resolveChannel(message2);
|
||||
MessageChannel result1 = router.determineTargetChannel(message1);
|
||||
MessageChannel result2 = router.determineTargetChannel(message2);
|
||||
assertEquals(stringChannel, result1);
|
||||
assertEquals(integerChannel, result2);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public class RecipientListRouterTests {
|
||||
router.setChannels(channels);
|
||||
router.afterPropertiesSet();
|
||||
Message<String> message = new StringMessage("test");
|
||||
Collection<MessageChannel> resolved = router.resolveChannels(message);
|
||||
Collection<MessageChannel> resolved = router.determineTargetChannels(message);
|
||||
assertEquals(2, resolved.size());
|
||||
assertTrue(resolved.contains(channel1));
|
||||
assertTrue(resolved.contains(channel2));
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RouterTests {
|
||||
@Test
|
||||
public void nullChannelIgnoredByDefault() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
public List<MessageChannel> resolveChannels(Message<?> message) {
|
||||
public List<MessageChannel> determineTargetChannels(Message<?> message) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@@ -51,7 +51,7 @@ public class RouterTests {
|
||||
@Test(expected = MessageDeliveryException.class)
|
||||
public void nullChannelThrowsExceptionWhenResolutionRequired() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
public List<MessageChannel> resolveChannels(Message<?> message) {
|
||||
public List<MessageChannel> determineTargetChannels(Message<?> message) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@@ -63,7 +63,7 @@ public class RouterTests {
|
||||
@Test
|
||||
public void emptyChannelListIgnoredByDefault() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
public List<MessageChannel> resolveChannels(Message<?> message) {
|
||||
public List<MessageChannel> determineTargetChannels(Message<?> message) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
};
|
||||
@@ -74,7 +74,7 @@ public class RouterTests {
|
||||
@Test(expected = MessageDeliveryException.class)
|
||||
public void emptyChannelListThrowsExceptionWhenResolutionRequired() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
public List<MessageChannel> resolveChannels(Message<?> message) {
|
||||
public List<MessageChannel> determineTargetChannels(Message<?> message) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
};
|
||||
@@ -86,7 +86,7 @@ public class RouterTests {
|
||||
@Test
|
||||
public void nullChannelNameArrayIgnoredByDefault() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@@ -99,7 +99,7 @@ public class RouterTests {
|
||||
@Test(expected = MessageDeliveryException.class)
|
||||
public void nullChannelNameArrayThrowsExceptionWhenResolutionRequired() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@@ -114,7 +114,7 @@ public class RouterTests {
|
||||
@Test
|
||||
public void emptyChannelNameArrayIgnoredByDefault() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return new String[] {};
|
||||
}
|
||||
};
|
||||
@@ -127,7 +127,7 @@ public class RouterTests {
|
||||
@Test(expected = MessageDeliveryException.class)
|
||||
public void emptyChannelNameArrayThrowsExceptionWhenResolutionRequired() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return new String[] {};
|
||||
}
|
||||
};
|
||||
@@ -141,7 +141,7 @@ public class RouterTests {
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelMappingIsRequiredWhenResolvingChannelNamesWithSingleChannelRouter() {
|
||||
AbstractSingleChannelNameRouter router = new AbstractSingleChannelNameRouter() {
|
||||
public String resolveChannelName(Message<?> message) {
|
||||
public String determineTargetChannelName(Message<?> message) {
|
||||
return "notImportant";
|
||||
}
|
||||
};
|
||||
@@ -151,7 +151,7 @@ public class RouterTests {
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelMappingIsRequiredWhenResolvingChannelNamesWithMultiChannelRouter() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return new String[] { "notImportant" };
|
||||
}
|
||||
};
|
||||
@@ -161,7 +161,7 @@ public class RouterTests {
|
||||
@Test
|
||||
public void beanFactoryWithSingleChannelRouter() {
|
||||
AbstractSingleChannelNameRouter router = new AbstractSingleChannelNameRouter() {
|
||||
public String resolveChannelName(Message<?> message) {
|
||||
public String determineTargetChannelName(Message<?> message) {
|
||||
return "testChannel";
|
||||
}
|
||||
};
|
||||
@@ -177,7 +177,7 @@ public class RouterTests {
|
||||
@Test
|
||||
public void beanFactoryWithMultiChannelRouter() {
|
||||
AbstractChannelNameResolvingMessageRouter router = new AbstractChannelNameResolvingMessageRouter() {
|
||||
public String[] resolveChannelNames(Message<?> message) {
|
||||
public String[] determineTargetChannelNames(Message<?> message) {
|
||||
return new String[] { "testChannel" };
|
||||
}
|
||||
};
|
||||
|
||||
@@ -37,7 +37,7 @@ public class SingleChannelRouterTests {
|
||||
public void routeWithChannelResolver() {
|
||||
final QueueChannel channel = new QueueChannel();
|
||||
AbstractSingleChannelRouter router = new AbstractSingleChannelRouter() {
|
||||
public MessageChannel resolveChannel(Message<?> message) {
|
||||
public MessageChannel determineTargetChannel(Message<?> message) {
|
||||
return channel;
|
||||
}
|
||||
};
|
||||
@@ -51,7 +51,7 @@ public class SingleChannelRouterTests {
|
||||
@Test
|
||||
public void routeWithChannelNameResolver() {
|
||||
AbstractSingleChannelNameRouter router = new AbstractSingleChannelNameRouter() {
|
||||
public String resolveChannelName(Message<?> message) {
|
||||
public String determineTargetChannelName(Message<?> message) {
|
||||
return "testChannel";
|
||||
}
|
||||
};
|
||||
@@ -70,7 +70,7 @@ public class SingleChannelRouterTests {
|
||||
@Test
|
||||
public void nullChannelResultIgnored() {
|
||||
AbstractSingleChannelRouter router = new AbstractSingleChannelRouter() {
|
||||
public MessageChannel resolveChannel(Message<?> message) {
|
||||
public MessageChannel determineTargetChannel(Message<?> message) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@@ -81,7 +81,7 @@ public class SingleChannelRouterTests {
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelNameResolutionFailure() {
|
||||
AbstractSingleChannelNameRouter router = new AbstractSingleChannelNameRouter() {
|
||||
public String resolveChannelName(Message<?> message) {
|
||||
public String determineTargetChannelName(Message<?> message) {
|
||||
return "noSuchChannel";
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user