Search in sources :

Example 21 with TestChannelResolver

use of org.springframework.integration.channel.TestChannelResolver in project spring-integration by spring-projects.

the class MethodInvokingRouterTests method multiChannelListResolutionByMessageConfiguredByMethodName.

@Test
public void multiChannelListResolutionByMessageConfiguredByMethodName() {
    TestChannelResolver channelResolver = new TestChannelResolver();
    MultiChannelInstanceRoutingTestBean testBean = new MultiChannelInstanceRoutingTestBean(channelResolver);
    MethodInvokingRouter router = new MethodInvokingRouter(testBean, "routeMessage");
    this.doTestMultiChannelListResolutionByMessage(router, channelResolver);
}
Also used : TestChannelResolver(org.springframework.integration.channel.TestChannelResolver) Test(org.junit.Test)

Example 22 with TestChannelResolver

use of org.springframework.integration.channel.TestChannelResolver in project spring-integration by spring-projects.

the class MethodInvokingRouterTests method multiChannelNameResolutionByMessageConfiguredByMethodReference.

@Test
public void multiChannelNameResolutionByMessageConfiguredByMethodReference() throws Exception {
    TestChannelResolver channelResolver = new TestChannelResolver();
    MultiChannelNameRoutingTestBean testBean = new MultiChannelNameRoutingTestBean();
    Method routingMethod = testBean.getClass().getMethod("routeMessage", Message.class);
    MethodInvokingRouter router = new MethodInvokingRouter(testBean, routingMethod);
    this.doTestMultiChannelNameResolutionByMessage(router, channelResolver);
}
Also used : TestChannelResolver(org.springframework.integration.channel.TestChannelResolver) Method(java.lang.reflect.Method) Test(org.junit.Test)

Example 23 with TestChannelResolver

use of org.springframework.integration.channel.TestChannelResolver in project spring-integration by spring-projects.

the class MethodInvokingRouterTests method channelInstanceResolutionByMessageConfiguredByMethodName.

@Test
public void channelInstanceResolutionByMessageConfiguredByMethodName() {
    TestChannelResolver channelResolver = new TestChannelResolver();
    SingleChannelInstanceRoutingTestBean testBean = new SingleChannelInstanceRoutingTestBean(channelResolver);
    MethodInvokingRouter router = new MethodInvokingRouter(testBean, "routeMessage");
    this.doTestChannelInstanceResolutionByMessage(router, channelResolver);
}
Also used : TestChannelResolver(org.springframework.integration.channel.TestChannelResolver) Test(org.junit.Test)

Example 24 with TestChannelResolver

use of org.springframework.integration.channel.TestChannelResolver in project spring-integration by spring-projects.

the class MethodInvokingRouterTests method multiChannelNameResolutionByPayloadConfiguredByMethodReference.

@Test
public void multiChannelNameResolutionByPayloadConfiguredByMethodReference() throws Exception {
    TestChannelResolver channelResolver = new TestChannelResolver();
    MultiChannelNameRoutingTestBean testBean = new MultiChannelNameRoutingTestBean();
    Method routingMethod = testBean.getClass().getMethod("routePayload", String.class);
    MethodInvokingRouter router = new MethodInvokingRouter(testBean, routingMethod);
    this.doTestMultiChannelNameResolutionByPayload(router, channelResolver);
}
Also used : TestChannelResolver(org.springframework.integration.channel.TestChannelResolver) Method(java.lang.reflect.Method) Test(org.junit.Test)

Example 25 with TestChannelResolver

use of org.springframework.integration.channel.TestChannelResolver in project spring-integration by spring-projects.

the class MethodInvokingRouterTests method channelNameResolutionByHeader.

@Test
public void channelNameResolutionByHeader() throws Exception {
    QueueChannel fooChannel = new QueueChannel();
    QueueChannel barChannel = new QueueChannel();
    TestChannelResolver channelResolver = new TestChannelResolver();
    channelResolver.addChannel("foo-channel", fooChannel);
    channelResolver.addChannel("bar-channel", barChannel);
    SingleChannelNameRoutingTestBean testBean = new SingleChannelNameRoutingTestBean();
    Method routingMethod = testBean.getClass().getMethod("routeByHeader", String.class);
    MethodInvokingRouter router = new MethodInvokingRouter(testBean, routingMethod);
    router.setChannelResolver(channelResolver);
    Message<String> message = MessageBuilder.withPayload("bar").setHeader("targetChannel", "foo").build();
    router.handleMessage(message);
    Message<?> fooReply = fooChannel.receive(0);
    Message<?> barReply = barChannel.receive(0);
    assertNotNull(fooReply);
    assertNull(barReply);
    assertEquals(message, fooReply);
}
Also used : QueueChannel(org.springframework.integration.channel.QueueChannel) TestChannelResolver(org.springframework.integration.channel.TestChannelResolver) Method(java.lang.reflect.Method) Test(org.junit.Test)

Aggregations

TestChannelResolver (org.springframework.integration.channel.TestChannelResolver)28 Test (org.junit.Test)27 Method (java.lang.reflect.Method)10 GenericMessage (org.springframework.messaging.support.GenericMessage)10 QueueChannel (org.springframework.integration.channel.QueueChannel)8 Message (org.springframework.messaging.Message)6 ServiceActivatingHandler (org.springframework.integration.handler.ServiceActivatingHandler)2 TestUtils (org.springframework.integration.test.util.TestUtils)2 ArrayList (java.util.ArrayList)1 MessageDeliveryException (org.springframework.messaging.MessageDeliveryException)1