List of usage examples for org.springframework.integration.support MessageBuilder fromMessage
public static <T> MessageBuilder<T> fromMessage(Message<T> message)
From source file:eu.openanalytics.rsb.si.HeaderSettingMessageSourceWrapper.java
public Message<T> receive() { final Message<T> receivedMessage = wrappedMessageSource.receive(); if (receivedMessage == null) { return null; }// ww w . ja va2 s .c o m final MessageBuilder<T> messageBuilder = MessageBuilder.fromMessage(receivedMessage).setHeader(headerName, headerValue); return messageBuilder.build(); }
From source file:org.bitcoinrt.server.ConnectionBroker.java
public List<Message<?>> createBroadCastMessages(Message<?> message) { final List<Message<?>> messages = new ArrayList<Message<?>>(); for (String connectionId : clients.keySet()) { messages.add(/*from ww w . ja v a 2s . c o m*/ MessageBuilder.fromMessage(message).setHeader(IpHeaders.CONNECTION_ID, connectionId).build()); } return messages; }
From source file:sipackage.core.SIAdapterUpperPrefixExecutor.java
/** * Execute a retrieving (polling) SIAdapterUpperPrefix operation. * * @param requestMessage May be null.//from w ww . j a v a 2 s.com * @return The payload object, which may be null. */ public Object poll(final Message<?> requestMessage) { if (logger.isWarnEnabled()) { logger.warn("Logic not implemented, yet."); } if (requestMessage == null) { return null; } return MessageBuilder.fromMessage(requestMessage).build(); }
From source file:org.ehcache.siehcache.core.EhcacheAdapterExecutor.java
/** * Execute a retrieving (polling) EhcacheAdapter operation. * * @param requestMessage May be null./*from w ww . j av a 2s.c o m*/ * @return The payload object, which may be null. */ public Object poll(final Message<?> requestMessage) { if (logger.isWarnEnabled()) { logger.warn("Logic not implemented, yet."); } return MessageBuilder.fromMessage(requestMessage).build(); }
From source file:org.springframework.integration.aggregator.AbstractAggregatingMessageGroupProcessor.java
public final Object processMessageGroup(MessageGroup group) { Assert.notNull(group, "MessageGroup must not be null"); Map<String, Object> headers = this.aggregateHeaders(group); Object payload = this.aggregatePayloads(group, headers); MessageBuilder<?> builder;/*from w w w . j a v a 2 s . co m*/ if (payload instanceof Message<?>) { builder = MessageBuilder.fromMessage((Message<?>) payload).copyHeadersIfAbsent(headers); } else { builder = MessageBuilder.withPayload(payload).copyHeadersIfAbsent(headers); } return builder.popSequenceDetails().build(); }
From source file:org.springframework.integration.config.xml.GatewayParserTests.java
private void startResponder(final PollableChannel requestChannel, final MessageChannel replyChannel) { Executors.newSingleThreadExecutor().execute(() -> { Message<?> request = requestChannel.receive(60000); assertNotNull("Request not received", request); Message<?> reply = MessageBuilder.fromMessage(request).setCorrelationId(request.getHeaders().getId()) .build();/* w w w . ja v a2 s.co m*/ Object payload = null; if (request.getPayload().equals("futureSync")) { payload = new AsyncResult<Message<?>>(reply); } else if (request.getPayload().equals("flowCompletable")) { payload = CompletableFuture.<String>completedFuture("SYNC_COMPLETABLE"); } else if (request.getPayload().equals("flowCustomCompletable")) { MyCompletableFuture myCompletableFuture1 = new MyCompletableFuture(); myCompletableFuture1.complete("SYNC_CUSTOM_COMPLETABLE"); payload = myCompletableFuture1; } else if (request.getPayload().equals("flowCompletableM")) { payload = CompletableFuture.<Message<?>>completedFuture(reply); } else if (request.getPayload().equals("flowCustomCompletableM")) { MyCompletableMessageFuture myCompletableFuture2 = new MyCompletableMessageFuture(); myCompletableFuture2.complete(reply); payload = myCompletableFuture2; } if (payload != null) { reply = MessageBuilder.withPayload(payload).copyHeaders(reply.getHeaders()).build(); } replyChannel.send(reply); }); }
From source file:org.springframework.integration.configuration.EnableIntegrationTests.java
@Test public void testBridgeAnnotations() { GenericMessage<?> testMessage = new GenericMessage<Object>("foo"); this.bridgeInput.send(testMessage); Message<?> receive = this.bridgeOutput.receive(2000); assertNotNull(receive);//w ww . java 2 s . c o m assertSame(receive, testMessage); assertNull(this.bridgeOutput.receive(10)); this.pollableBridgeInput.send(testMessage); receive = this.pollableBridgeOutput.receive(2000); assertNotNull(receive); assertSame(receive, testMessage); assertNull(this.pollableBridgeOutput.receive(10)); try { this.metaBridgeInput.send(testMessage); fail("MessageDeliveryException expected"); } catch (Exception e) { assertThat(e, Matchers.instanceOf(MessageDeliveryException.class)); assertThat(e.getMessage(), Matchers.containsString("Dispatcher has no subscribers")); } this.context .getBean("enableIntegrationTests.ContextConfiguration.metaBridgeOutput.bridgeFrom", Lifecycle.class) .start(); this.metaBridgeInput.send(testMessage); receive = this.metaBridgeOutput.receive(2000); assertNotNull(receive); assertSame(receive, testMessage); assertNull(this.metaBridgeOutput.receive(10)); this.bridgeToInput.send(testMessage); receive = this.bridgeToOutput.receive(2000); assertNotNull(receive); assertSame(receive, testMessage); assertNull(this.bridgeToOutput.receive(10)); PollableChannel replyChannel = new QueueChannel(); Message<?> bridgeMessage = MessageBuilder.fromMessage(testMessage).setReplyChannel(replyChannel).build(); this.pollableBridgeToInput.send(bridgeMessage); receive = replyChannel.receive(2000); assertNotNull(receive); assertSame(receive, bridgeMessage); assertNull(replyChannel.receive(10)); try { this.myBridgeToInput.send(testMessage); fail("MessageDeliveryException expected"); } catch (Exception e) { assertThat(e, Matchers.instanceOf(MessageDeliveryException.class)); assertThat(e.getMessage(), Matchers.containsString("Dispatcher has no subscribers")); } this.context .getBean("enableIntegrationTests.ContextConfiguration.myBridgeToInput.bridgeTo", Lifecycle.class) .start(); this.myBridgeToInput.send(bridgeMessage); receive = replyChannel.receive(2000); assertNotNull(receive); assertSame(receive, bridgeMessage); assertNull(replyChannel.receive(10)); }
From source file:org.springframework.integration.core.MessagingTemplate.java
private <S, R> Message<R> doSendAndReceive(MessageChannel channel, Message<S> requestMessage) { Object originalReplyChannelHeader = requestMessage.getHeaders().getReplyChannel(); Object originalErrorChannelHeader = requestMessage.getHeaders().getErrorChannel(); TemporaryReplyChannel replyChannel = new TemporaryReplyChannel(this.receiveTimeout, this.throwExceptionOnLateReply); requestMessage = MessageBuilder.fromMessage(requestMessage).setReplyChannel(replyChannel) .setErrorChannel(replyChannel).build(); try {//w w w .j av a 2s . co m this.doSend(channel, requestMessage); } catch (RuntimeException e) { replyChannel.setClientWontReceive(true); throw e; } Message<R> reply = this.doReceive(replyChannel); if (reply != null) { reply = MessageBuilder.fromMessage(reply) .setHeader(MessageHeaders.REPLY_CHANNEL, originalReplyChannelHeader) .setHeader(MessageHeaders.ERROR_CHANNEL, originalErrorChannelHeader).build(); } return reply; }
From source file:org.springframework.integration.flow.handler.FlowMessageHandler.java
@Override protected Object handleRequestMessage(Message<?> requestMessage) { UUID conversationId = requestMessage.getHeaders().getId(); Message<?> message = MessageBuilder.fromMessage(requestMessage).pushSequenceDetails(conversationId, 0, 0) .build();// www . ja va 2s . c o m try { ResponseMessageHandler responseMessageHandler = new ResponseMessageHandler(conversationId); flowOutputChannel.subscribe(responseMessageHandler); flowInputChannel.send(message, timeout); flowOutputChannel.unsubscribe(responseMessageHandler); return responseMessageHandler.getResponse(); } catch (MessagingException me) { log.error(me.getMessage(), me); if (conversationId.equals(me.getFailedMessage().getHeaders().getCorrelationId())) { if (errorChannel != null) { errorChannel.send( new ErrorMessage(me, Collections.singletonMap(FlowConstants.FLOW_OUTPUT_PORT_HEADER, (Object) FlowConstants.FLOW_HANDLER_EXCEPTION_HEADER_VALUE))); } } else { throw me; } } return null; }
From source file:org.springframework.integration.flow.interceptor.FlowInterceptor.java
@Override public Message<?> preSend(Message<?> message, MessageChannel channel) { if (log.isDebugEnabled()) { log.debug(this + " received a message from port " + portName + " on channel " + channel); }// w w w . j a v a2 s. co m Map<String, Object> headersToCopy = Collections.singletonMap(FlowConstants.FLOW_OUTPUT_PORT_HEADER, (Object) portName); return MessageBuilder.fromMessage(message).copyHeaders(headersToCopy).build(); }