private Message<StepExecutionRequest> createMessage(int sequenceNumber, int sequenceSize, StepExecutionRequest stepExecutionRequest, PollableChannel replyChannel) { return MessageBuilder.withPayload(stepExecutionRequest).setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize) .setCorrelationId(stepExecutionRequest.getJobExecutionId() + ":" + stepExecutionRequest.getStepName()) .setReplyChannel(replyChannel) .build(); } }
@Test public void testAsyncWithDirectReply() { DirectChannel replyChannel = new DirectChannel(); final AtomicReference<Message<?>> reply = new AtomicReference<Message<?>>(); replyChannel.subscribe(reply::set); Message<?> message = MessageBuilder.withPayload("testing").setReplyChannel(replyChannel).build(); this.asyncIn.send(message); assertNull(reply.get()); this.asyncService.future.set(this.asyncService.payload.toUpperCase()); assertNotNull(reply.get()); assertEquals("TESTING", reply.get().getPayload()); }
@Test public void testMessageHandler() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build(); this.handlerTestInputChannel.send(message); }
@Test public void testReplyingMessageHandlerWithOtherMethod() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build(); this.replyingHandlerWithOtherMethodTestInputChannel.send(message); Message<?> reply = replyChannel.receive(0); assertEquals("bar", reply.getPayload()); assertEquals("replyingHandlerWithOtherMethodTestInputChannel,replyingHandlerWithOtherMethodTestService", reply.getHeaders().get("history").toString()); }
@Test public void serviceActivator() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload(new TestBean1("service-test")) .setReplyChannel(replyChannel).build(); this.serviceActivatorChannel.send(message); Message<?> result = replyChannel.receive(0); assertNotNull(result); assertNotNull(result.getPayload()); assertEquals(TestBean2.class, result.getPayload().getClass()); assertEquals("SERVICE-TEST", ((TestBean2) result.getPayload()).text); }
@Test public void serviceActivator() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload(new TestBean1("service-test")) .setReplyChannel(replyChannel).build(); this.serviceActivatorChannel.send(message); Message<?> result = replyChannel.receive(0); assertNotNull(result); assertNotNull(result.getPayload()); assertEquals(TestBean2.class, result.getPayload().getClass()); assertEquals("SERVICE-TEST", ((TestBean2) result.getPayload()).text); }
@Test public void splitter() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload(new TestBean1("splitter-test")) .setReplyChannel(replyChannel).build(); this.splitterChannel.send(message); Message<?> result = replyChannel.receive(0); assertNotNull(result); assertNotNull(result.getPayload()); assertEquals(TestBean2.class, result.getPayload().getClass()); assertEquals("SPLITTER-TEST", ((TestBean2) result.getPayload()).text); }
@Test public void splitter() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload(new TestBean1("splitter-test")) .setReplyChannel(replyChannel).build(); this.splitterChannel.send(message); Message<?> result = replyChannel.receive(0); assertNotNull(result); assertNotNull(result.getPayload()); assertEquals(TestBean2.class, result.getPayload().getClass()); assertEquals("SPLITTER-TEST", ((TestBean2) result.getPayload()).text); }
@Test public void replyChannelExplicitOverwriteFalse() { MessageChannel inputChannel = this.context.getBean("replyChannelExplicitOverwriteFalseInput", MessageChannel.class); QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build(); inputChannel.send(message); Message<?> result = replyChannel.receive(0); assertNotNull(result); assertEquals("TEST", result.getPayload()); assertEquals(replyChannel, result.getHeaders().getReplyChannel()); }
@Test public void filter() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload(new TestBean1("filter-test")) .setReplyChannel(replyChannel).build(); this.filterChannel.send(message); Message<?> result = replyChannel.receive(0); assertNotNull(result); assertNotNull(result.getPayload()); assertEquals(TestBean1.class, result.getPayload().getClass()); assertEquals("filter-test", ((TestBean1) result.getPayload()).text); }
@Test public void testReplyingMessageHandler() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build(); this.replyingHandlerTestInputChannel.send(message); Message<?> reply = replyChannel.receive(0); assertEquals("TEST", reply.getPayload()); assertEquals("replyingHandlerTestInputChannel,replyingHandlerTestService", reply.getHeaders().get("history").toString()); StackTraceElement[] st = (StackTraceElement[]) reply.getHeaders().get("callStack"); assertTrue(StackTraceUtils.isFrameContainingXBeforeFrameContainingY("AbstractSubscribableChannel", "MethodInvokerHelper", st)); }
@Test public void testOptimizedReplyingMessageHandler() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build(); this.optimizedRefReplyingHandlerTestInputChannel.send(message); Message<?> reply = replyChannel.receive(0); assertEquals("TEST", reply.getPayload()); assertEquals("optimizedRefReplyingHandlerTestInputChannel,optimizedRefReplyingHandlerTestService", reply.getHeaders().get("history").toString()); StackTraceElement[] st = (StackTraceElement[]) reply.getHeaders().get("callStack"); assertTrue(StackTraceUtils.isFrameContainingXBeforeFrameContainingY("AbstractSubscribableChannel", "MethodInvokerHelper", st)); }
@Test public void testRouterSubflowWithReplyChannelHeader() { PollableChannel replyChannel = new QueueChannel(); this.routeSubflowToReplyChannelFlowInput.send( MessageBuilder.withPayload("baz") .setReplyChannel(replyChannel) .build()); Message<?> receive = replyChannel.receive(10000); assertNotNull(receive); assertEquals("BAZ", receive.getPayload()); }
@Test public void verifyPrioritySettingOnGatewayUsedAsJmsPriorityIfNoHeader() throws Exception { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload("test").setReplyChannel(replyChannel).build(); gatewayChannel.send(message); Message<?> result = replyChannel.receive(5000); assertNotNull(result); assertEquals("priority=2", result.getPayload()); }
@Test public void testAmqpAsyncOutboundGatewayFlow() throws Exception { QueueChannel replyChannel = new QueueChannel(); this.amqpAsyncOutboundFlowInput.send(MessageBuilder.withPayload("async gateway") .setReplyChannel(replyChannel) .build()); Message<?> receive = replyChannel.receive(10000); assertNotNull(receive); assertEquals("HELLO ASYNC GATEWAY", receive.getPayload()); this.asyncOutboundGateway.stop(); }
private static Message<?> createMessage(String payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel replyChannel) { return MessageBuilder.withPayload(payload).setCorrelationId(correlationId).setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber).setReplyChannel(replyChannel).build(); }
private void testHandler(MessageHandler handler) { Message<?> message = MessageBuilder.withPayload("foo") .setReplyChannel(replyChannel) .build(); handler.handleMessage(message); assertNotNull(replyChannel.receive(0)); }
private static <T> Message<T> createMessage(T payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel outputChannel) { return MessageBuilder.withPayload(payload) .setCorrelationId(correlationId) .setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber) .setReplyChannel(outputChannel).build(); }
private static <T> Message<T> createMessage(T payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel outputChannel) { return MessageBuilder.withPayload(payload).setCorrelationId(correlationId).setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber).setReplyChannel(outputChannel).build(); }
private static <T> Message<T> createMessage(T payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel outputChannel) { return MessageBuilder.withPayload(payload) .setCorrelationId(correlationId) .setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber) .setReplyChannel(outputChannel).build(); }