private static QueueChannel createChannel(Class<?>... datatypes) { QueueChannel channel = new QueueChannel(); channel.setBeanName("testChannel"); channel.setDatatypes(datatypes); return channel; }
private static MessageChannel getSecuredChannel(String role) throws Exception { QueueChannel channel = new QueueChannel(); channel.setBeanName("securedChannel"); ProxyFactory proxyFactory = new ProxyFactory(channel); proxyFactory.addAdvice(createInterceptor(role)); return (MessageChannel) proxyFactory.getProxy(); }
@Test public void inlineScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); for (int i = 1; i <= 3; i++) { Message<?> message = MessageBuilder.withPayload("test-" + i).setReplyChannel(replyChannel).build(); this.inlineScriptInput.send(message); } assertEquals("inline-test-1", replyChannel.receive(0).getPayload().toString()); assertEquals("inline-test-2", replyChannel.receive(0).getPayload().toString()); assertEquals("inline-test-3", replyChannel.receive(0).getPayload().toString()); assertNull(replyChannel.receive(0)); }
@BeforeClass public static void setupTestInboundGateway() { testChannel.setBeanName("testChannel"); rmiInboundGateway.setRequestChannel(testChannel); rmiInboundGateway.setRegistryPort(port); rmiInboundGateway.setExpectReply(false); rmiInboundGateway.setBeanFactory(mock(BeanFactory.class)); rmiInboundGateway.afterPropertiesSet(); }
@Test public void inlineScript() throws Exception { groovyCustomizer.executed = false; QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); for (int i = 1; i <= 3; i++) { Message<?> message = MessageBuilder.withPayload("test-" + i).setReplyChannel(replyChannel).build(); this.inlineScriptInput.send(message); } DateFormat format = new SimpleDateFormat("dd.MM.yyyy"); String now = format.format(new Date()); assertEquals("inline-test-1 : " + now, replyChannel.receive(0).getPayload()); assertEquals("inline-test-2 : " + now, replyChannel.receive(0).getPayload()); assertEquals("inline-test-3 : " + now, replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); assertTrue(groovyCustomizer.executed); }
@Test public void referencedScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); Message<?> message = MessageBuilder.withPayload("x,y,z").setReplyChannel(replyChannel).build(); this.referencedScriptInput.send(message); assertEquals("x", replyChannel.receive(0).getPayload()); assertEquals("y", replyChannel.receive(0).getPayload()); assertEquals("z", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void referencedScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); for (int i = 1; i <= 3; i++) { Message<?> message = MessageBuilder.withPayload("test-" + i).setReplyChannel(replyChannel).build(); this.referencedScriptInput.send(message); } assertEquals("ruby-test-1", replyChannel.receive(0).getPayload()); assertEquals("ruby-test-2", replyChannel.receive(0).getPayload()); assertEquals("ruby-test-3", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void referencedScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); for (int i = 1; i <= 3; i++) { Message<?> message = MessageBuilder.withPayload("test-" + i).setReplyChannel(replyChannel).build(); this.referencedScriptInput.send(message); } assertEquals("groovy-test-1", replyChannel.receive(0).getPayload()); assertEquals("groovy-test-2", replyChannel.receive(0).getPayload()); assertEquals("groovy-test-3", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void inlineScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); for (int i = 1; i <= 3; i++) { Message<?> message = MessageBuilder.withPayload("test-" + i).setReplyChannel(replyChannel).build(); this.inlineScriptInput.send(message); } assertEquals("inline-test-1", replyChannel.receive(0).getPayload()); assertEquals("inline-test-2", replyChannel.receive(0).getPayload()); assertEquals("inline-test-3", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void referencedScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); Message<?> message = MessageBuilder.withPayload("x,y,z").setReplyChannel(replyChannel).build(); this.referencedScriptInput.send(message); assertEquals("x", replyChannel.receive(0).getPayload()); assertEquals("y", replyChannel.receive(0).getPayload()); assertEquals("z", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void inlineScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); Message<?> message = MessageBuilder.withPayload("a b c").setReplyChannel(replyChannel).build(); this.inlineScriptInput.send(message); assertEquals("a", replyChannel.receive(0).getPayload()); assertEquals("b", replyChannel.receive(0).getPayload()); assertEquals("c", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void inlineScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); Message<?> message = MessageBuilder.withPayload("a b c").setReplyChannel(replyChannel).build(); this.inlineScriptInput.send(message); assertEquals("a", replyChannel.receive(0).getPayload()); assertEquals("b", replyChannel.receive(0).getPayload()); assertEquals("c", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void referencedScript() throws Exception { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); this.referencedScriptInput.send(MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build()); assertEquals("ruby-test-1", replyChannel.receive(0).getPayload()); this.referencedScriptInput.send(MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build()); assertEquals("ruby-test-0", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void referencedScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); this.referencedScriptInput.send(MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build()); assertEquals("groovy-test-1", replyChannel.receive(0).getPayload()); this.referencedScriptInput.send(MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build()); assertEquals("groovy-test-0", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void inlineScript() throws Exception { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); for (int i = 1; i <= 3; i++) { Message<?> message = MessageBuilder.withPayload("test-" + i).setReplyChannel(replyChannel).build(); this.inlineScriptInput.send(message); } String payload = (String) replyChannel.receive(0).getPayload(); assertThat(payload, startsWith("inline-test-1 - FOO")); payload = (String) replyChannel.receive(0).getPayload(); assertThat(payload, startsWith("inline-test-2 - FOO")); payload = (String) replyChannel.receive(0).getPayload(); assertThat(payload, startsWith("inline-test-3 - FOO")); assertTrue(payload.substring(payload.indexOf(":") + 1).matches(".+\\d{2}:\\d{2}:\\d{2}.+")); assertNull(replyChannel.receive(0)); }
@Test public void routeToSingleChannel() { QueueChannel channel = new QueueChannel(); channel.setBeanName("channel"); RecipientListRouter router = new RecipientListRouter(); router.setChannels(Collections.singletonList((MessageChannel) channel)); Message<String> message = new GenericMessage<String>("test"); router.handleMessage(message); Message<?> result1 = channel.receive(25); assertNotNull(result1); assertEquals("test", result1.getPayload()); Message<?> result2 = channel.receive(5); assertNull(result2); }
@Test public void inlineScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); Message<?> message1 = MessageBuilder.withPayload("bad").setReplyChannel(replyChannel).build(); Message<?> message2 = MessageBuilder.withPayload("good").setReplyChannel(replyChannel).build(); this.inlineScriptInput.send(message1); this.inlineScriptInput.send(message2); Message<?> received = replyChannel.receive(0); assertNotNull(received); assertEquals("good", received.getPayload()); assertEquals(message2, received); assertNull(replyChannel.receive(0)); }
@Test public void referencedScript() { QueueChannel replyChannel = new QueueChannel(); replyChannel.setBeanName("returnAddress"); Message<?> message1 = MessageBuilder.withPayload("test-1") .setReplyChannel(replyChannel) .setHeader("type", "bad") .build(); Message<?> message2 = MessageBuilder.withPayload("test-2") .setReplyChannel(replyChannel) .setHeader("type", "good") .build(); this.referencedScriptInput.send(message1); this.referencedScriptInput.send(message2); assertEquals("test-2", replyChannel.receive(0).getPayload()); assertNull(replyChannel.receive(0)); }
@Test public void requestChannelSendTimingOut() { final String requestChannelName = "Request_Channel"; final long requestTimeout = 200L; QueueChannel replyChannel = new QueueChannel(); QueueChannel requestChannel = new RendezvousChannel(); requestChannel.setBeanName(requestChannelName); ContentEnricher enricher = new ContentEnricher(); enricher.setRequestChannel(requestChannel); enricher.setRequestTimeout(requestTimeout); enricher.setBeanFactory(mock(BeanFactory.class)); enricher.afterPropertiesSet(); Target target = new Target("replace me"); Message<?> requestMessage = MessageBuilder.withPayload(target).setReplyChannel(replyChannel).build(); try { enricher.handleMessage(requestMessage); } catch (MessageDeliveryException e) { assertThat(e.getMessage(), equalToIgnoringCase("failed to send message to channel '" + requestChannelName + "' within timeout: " + requestTimeout)); } }
@Test public void returnAddressHeaderWithChannelName() { TestUtils.TestApplicationContext testApplicationContext = TestUtils.createTestApplicationContext(); testApplicationContext.refresh(); QueueChannel channel = new QueueChannel(1); channel.setBeanName("testChannel"); TestChannelResolver channelResolver = new TestChannelResolver(); channelResolver.addChannel("testChannel", channel); ServiceActivatingHandler endpoint = this.createEndpoint(); endpoint.setChannelResolver(channelResolver); endpoint.setBeanFactory(testApplicationContext); endpoint.afterPropertiesSet(); Message<?> message = MessageBuilder.withPayload("foo") .setReplyChannelName("testChannel").build(); endpoint.handleMessage(message); Message<?> reply = channel.receive(0); assertNotNull(reply); assertEquals("FOO", reply.getPayload()); testApplicationContext.close(); }