List of usage examples for org.springframework.messaging MessageHeaders REPLY_CHANNEL
String REPLY_CHANNEL
To view the source code for org.springframework.messaging MessageHeaders REPLY_CHANNEL.
Click Source Link
From source file:org.springframework.integration.dsl.test.IntegrationFlowTests.java
@Test public void testMethodInvokingMessageHandler() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload("world") .setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel).build(); this.methodInvokingInput.send(message); Message<?> receive = replyChannel.receive(5000); assertNotNull(receive);//from ww w. j a va2 s .c om assertEquals("Hello World and world", receive.getPayload()); }
From source file:org.springframework.integration.dsl.test.IntegrationFlowTests.java
@Test public void testLambdas() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload("World") .setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel).build(); this.lamdasInput.send(message); Message<?> receive = replyChannel.receive(5000); assertNotNull(receive);/*from w w w. j a va2 s. c o m*/ assertEquals("Hello World", receive.getPayload()); message = MessageBuilder.withPayload("Spring").setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel) .build(); this.lamdasInput.send(message); assertNull(replyChannel.receive(10)); }
From source file:org.springframework.integration.dsl.test.IntegrationFlowTests.java
@Test public void testContentEnricher() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload(new TestPojo("Bar")) .setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel).build(); this.enricherInput.send(message); Message<?> receive = replyChannel.receive(5000); assertNotNull(receive);/*from w ww .j a v a2 s. c om*/ assertEquals("Bar Bar", receive.getHeaders().get("foo")); Object payload = receive.getPayload(); assertThat(payload, instanceOf(TestPojo.class)); TestPojo result = (TestPojo) payload; assertEquals("Bar Bar", result.getName()); assertNotNull(result.getDate()); assertThat(new Date(), Matchers.greaterThanOrEqualTo(result.getDate())); }
From source file:org.springframework.integration.dsl.test.IntegrationFlowTests.java
@Test public void testContentEnricher2() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload(new TestPojo("Bar")) .setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel).build(); this.enricherInput2.send(message); Message<?> receive = replyChannel.receive(5000); assertNotNull(receive);/*from ww w . j a va 2s.c o m*/ assertNull(receive.getHeaders().get("foo")); Object payload = receive.getPayload(); assertThat(payload, instanceOf(TestPojo.class)); TestPojo result = (TestPojo) payload; assertEquals("Bar Bar", result.getName()); assertNotNull(result.getDate()); assertThat(new Date(), Matchers.greaterThanOrEqualTo(result.getDate())); }
From source file:org.springframework.integration.dsl.test.IntegrationFlowTests.java
@Test public void testContentEnricher3() { QueueChannel replyChannel = new QueueChannel(); Message<?> message = MessageBuilder.withPayload(new TestPojo("Bar")) .setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel).build(); this.enricherInput3.send(message); Message<?> receive = replyChannel.receive(5000); assertNotNull(receive);//from w ww. ja va 2 s .co m assertEquals("Bar Bar", receive.getHeaders().get("foo")); Object payload = receive.getPayload(); assertThat(payload, instanceOf(TestPojo.class)); TestPojo result = (TestPojo) payload; assertEquals("Bar", result.getName()); assertNull(result.getDate()); }
From source file:org.springframework.kafka.support.AbstractKafkaHeaderMapper.java
protected boolean matches(String header, Object value) { if (matches(header)) { if ((header.equals(MessageHeaders.REPLY_CHANNEL) || header.equals(MessageHeaders.ERROR_CHANNEL)) && !(value instanceof String)) { if (this.logger.isDebugEnabled()) { this.logger.debug("Cannot map " + header + " when type is [" + value.getClass() + "]; it must be a String"); }// w w w .j a v a 2 s . c om return false; } return true; } return false; }
From source file:org.springframework.messaging.core.GenericMessagingTemplate.java
@Override @Nullable/*from w w w .j av a 2s .c o m*/ protected final Message<?> doSendAndReceive(MessageChannel channel, Message<?> requestMessage) { Assert.notNull(channel, "'channel' is required"); Object originalReplyChannelHeader = requestMessage.getHeaders().getReplyChannel(); Object originalErrorChannelHeader = requestMessage.getHeaders().getErrorChannel(); long sendTimeout = sendTimeout(requestMessage); long receiveTimeout = receiveTimeout(requestMessage); TemporaryReplyChannel tempReplyChannel = new TemporaryReplyChannel(this.throwExceptionOnLateReply); requestMessage = MessageBuilder.fromMessage(requestMessage).setReplyChannel(tempReplyChannel) .setHeader(this.sendTimeoutHeader, null).setHeader(this.receiveTimeoutHeader, null) .setErrorChannel(tempReplyChannel).build(); try { doSend(channel, requestMessage, sendTimeout); } catch (RuntimeException ex) { tempReplyChannel.setSendFailed(true); throw ex; } Message<?> replyMessage = this.doReceive(tempReplyChannel, receiveTimeout); if (replyMessage != null) { replyMessage = MessageBuilder.fromMessage(replyMessage) .setHeader(MessageHeaders.REPLY_CHANNEL, originalReplyChannelHeader) .setHeader(MessageHeaders.ERROR_CHANNEL, originalErrorChannelHeader).build(); } return replyMessage; }
From source file:org.springframework.messaging.support.MessageHeaderAccessor.java
protected void verifyType(String headerName, Object headerValue) { if (headerName != null && headerValue != null) { if (MessageHeaders.ERROR_CHANNEL.equals(headerName) || MessageHeaders.REPLY_CHANNEL.endsWith(headerName)) { if (!(headerValue instanceof MessageChannel || headerValue instanceof String)) { throw new IllegalArgumentException( "'" + headerName + "' header value must be a MessageChannel or String"); }//from w w w .j ava 2 s . com } } }
From source file:org.springframework.messaging.support.MessageHeaderAccessor.java
public void setReplyChannelName(String replyChannelName) { setHeader(MessageHeaders.REPLY_CHANNEL, replyChannelName); }
From source file:org.springframework.messaging.support.MessageHeaderAccessor.java
public void setReplyChannel(MessageChannel replyChannel) { setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel); }