diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/aggregator/AbstractMessageBarrierHandler.java b/org.springframework.integration/src/main/java/org/springframework/integration/aggregator/AbstractMessageBarrierHandler.java index 1b66bf778c..2302026766 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/aggregator/AbstractMessageBarrierHandler.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/aggregator/AbstractMessageBarrierHandler.java @@ -35,7 +35,9 @@ import org.springframework.integration.channel.MessageChannelTemplate; import org.springframework.integration.context.IntegrationContextUtils; import org.springframework.integration.core.Message; import org.springframework.integration.core.MessageChannel; +import org.springframework.integration.core.MessageHeaders; import org.springframework.integration.handler.AbstractMessageHandler; +import org.springframework.integration.message.MessageBuilder; import org.springframework.integration.message.MessageHandler; import org.springframework.integration.message.MessageHandlingException; import org.springframework.integration.scheduling.IntervalTrigger; @@ -266,6 +268,11 @@ public abstract class AbstractMessageBarrierHandler> } } if (replyChannel != null) { + if (defaultReplyChannel != null && !defaultReplyChannel.equals(replyChannel)) { + message = MessageBuilder.fromMessage(message) + .setHeaderIfAbsent(MessageHeaders.REPLY_CHANNEL, defaultReplyChannel) + .build(); + } this.channelTemplate.send(message, replyChannel); } else if (logger.isWarnEnabled()) {