public MessageBuilder<T> setErrorChannelName(String errorChannelName) { return this.setHeader(MessageHeaders.ERROR_CHANNEL, errorChannelName); }
public MessageBuilder<T> setPriority(MessagePriority priority) { return this.setHeader(MessageHeaders.PRIORITY, priority); }
public MessageBuilder<T> setCorrelationId(Object correlationId) { return this.setHeader(MessageHeaders.CORRELATION_ID, correlationId); }
public MessageBuilder<T> setReplyChannel(MessageChannel replyChannel) { return this.setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel); }
public MessageBuilder<T> setExpirationDate(Long expirationDate) { return this.setHeader(MessageHeaders.EXPIRATION_DATE, expirationDate); }
public MessageBuilder<T> setErrorChannel(MessageChannel errorChannel) { return this.setHeader(MessageHeaders.ERROR_CHANNEL, errorChannel); }
public MessageBuilder<T> setSequenceSize(Integer sequenceSize) { return this.setHeader(MessageHeaders.SEQUENCE_SIZE, sequenceSize); }
public MessageBuilder<T> setReplyChannelName(String replyChannelName) { return this.setHeader(MessageHeaders.REPLY_CHANNEL, replyChannelName); }
public MessageBuilder<T> setSequenceNumber(Integer sequenceNumber) { return this.setHeader(MessageHeaders.SEQUENCE_NUMBER, sequenceNumber); }
/** * Set the value for the given header name only if the header name * is not already associated with a value. */ public MessageBuilder<T> setHeaderIfAbsent(String headerName, Object headerValue) { if (this.headers.get(headerName) == null) { this.setHeader(headerName, headerValue); } return this; }
/** * Copy the name-value pairs from the provided Map. This operation will * overwrite any existing values. Use {{@link #copyHeadersIfAbsent(Map)} * to avoid overwriting values. Note that the 'id' and 'timestamp' header * values will never be overwritten. * * @see MessageHeaders#ID * @see MessageHeaders#TIMESTAMP */ public MessageBuilder<T> copyHeaders(Map<String, Object> headersToCopy) { Set<String> keys = headersToCopy.keySet(); for (String key : keys) { this.setHeader(key, headersToCopy.get(key)); } return this; }
private void addReply(ReplyMessageHolder replyHolder, Object item, Object correlationId, int sequenceNumber, int sequenceSize) { replyHolder.add(item).setCorrelationId(correlationId) .setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize) .setHeader(MessageHeaders.ID, UUID.randomUUID()); }
public boolean dispatch(Message<?> message) { boolean dispatched = false; int sequenceNumber = 1; List<MessageHandler> handlers = this.getHandlers(); int sequenceSize = handlers.size(); for (final MessageHandler handler : handlers) { final Message<?> messageToSend = (!this.applySequence) ? message : MessageBuilder.fromMessage(message) .setSequenceNumber(sequenceNumber++) .setSequenceSize(sequenceSize) .setCorrelationId(message.getHeaders().getId()) .setHeader(MessageHeaders.ID, UUID.randomUUID()) .build(); if (this.taskExecutor != null) { this.taskExecutor.execute(new Runnable() { public void run() { invokeHandler(handler, messageToSend); } }); dispatched = true; } else { boolean success = this.invokeHandler(handler, messageToSend); dispatched = (success || dispatched); } } return dispatched; }
private Message<?> doSendAndReceive(Message<?> request, MessageChannel channel) { Object originalReplyChannelHeader = request.getHeaders().getReplyChannel(); Object originalErrorChannelHeader = request.getHeaders().getErrorChannel(); TemporaryReplyChannel replyChannel = new TemporaryReplyChannel(this.receiveTimeout); request = MessageBuilder.fromMessage(request) .setReplyChannel(replyChannel) .setErrorChannel(replyChannel) .build(); if (!this.doSend(request, channel)) { throw new MessageDeliveryException(request, "failed to send message to channel"); } Message<?> reply = this.doReceive(replyChannel); if (reply != null) { reply = MessageBuilder.fromMessage(reply) .setHeader(MessageHeaders.REPLY_CHANNEL, originalReplyChannelHeader) .setHeader(MessageHeaders.ERROR_CHANNEL, originalErrorChannelHeader) .build(); } return reply; }
.setSequenceSize(sequenceSize) .setCorrelationId(message.getHeaders().getId()) .setHeader(MessageHeaders.ID, UUID.randomUUID()) .build(); if (channel != null) {