/** * Private constructor to be invoked from the static factory methods only. */ private MessageBuilder(T payload, Message<T> originalMessage) { Assert.notNull(payload, "payload must not be null"); this.payload = payload; this.originalMessage = originalMessage; if (originalMessage != null) { this.copyHeaders(originalMessage.getHeaders()); } }
return MessageBuilder.withPayload(payload).copyHeaders(headers).build();
public final Message<?> transform(Message<?> message) { try { Map<String, Object> headerMap = new HashMap<String, Object>(message.getHeaders()); this.transformHeaders(headerMap); return MessageBuilder.withPayload(message.getPayload()).copyHeaders(headerMap).build(); } catch (Exception e) { throw new MessagingException(message, "failed to transform message headers", e); } }
/** * @param message * @throws IOException */ public Message<byte[]> doTransform(Message<BlobDetails> message) throws BlobTransformException { if (LOG.isDebugEnabled()) { LOG.debug("Transform blob to byte array: '{}'", String.valueOf(message.getPayload())); } BlobDetails payload = message.getPayload(); MessageBuilder<byte[]> builder; InputStream input = getTemplate().receiveAsInputStream(payload.getContainerName(), payload.getName()); ByteArrayOutputStream output = new ByteArrayOutputStream(); try { IOUtils.copy(input, output); } catch (IOException e) { throw new BlobTransformException("Failed to copy blob [" + payload + "] byte stream to byte array", e); } builder = (MessageBuilder<byte[]>) MessageBuilder.withPayload(output.toByteArray())// .copyHeaders(message.getHeaders()); Message<byte[]> blobMessage = builder.build(); return blobMessage; } }
/** * @param message */ protected Message<String> doTransform(Message<BlobDetails> message) throws BlobTransformException { if (LOG.isDebugEnabled()) { LOG.debug("Transform blob to string: '{}'", String.valueOf(message.getPayload())); } BlobDetails payload = message.getPayload(); String blobAsString = getTemplate().receiveAsString(payload.getContainerName(), payload.getName()); MessageBuilder<String> builder = (MessageBuilder<String>) MessageBuilder.withPayload(blobAsString)// .copyHeaders(message.getHeaders()); Message<String> blobMessage = builder.build(); return blobMessage; } }
public final Message<?> transform(Message<?> message) { try { @SuppressWarnings("unchecked") U result = this.transformPayload((T) message.getPayload()); return MessageBuilder.withPayload(result).copyHeaders(message.getHeaders()).build(); } catch (MessageTransformationException e) { throw e; } catch (Exception e) { throw new MessageTransformationException(message, "failed to transform message payload", e); } }
return MessageBuilder.withPayload(result).copyHeaders(message.getHeaders()).build();
new ProcessAlreadyInterruptedException()); return MessageBuilder.withPayload(resultPayload).copyHeaders( message.getHeaders()).build(); } catch(Exception e) {