diff --git a/spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java b/spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java index 43d70a4570..a3f2a68101 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java @@ -636,7 +636,8 @@ public abstract class MessagingGatewaySupport extends AbstractEndpoint sendMessageForReactiveFlow(requestChannel, requestMessage); return buildReplyMono(requestMessage, replyChan.replyMono, error, originalReplyChannelHeader, - originalErrorChannelHeader); + originalErrorChannelHeader) + .onErrorResume(t -> error ? Mono.error(t) : handleSendError(requestMessage, t)); }); } @@ -686,8 +687,7 @@ public abstract class MessagingGatewaySupport extends AbstractEndpoint .setHeader(MessageHeaders.ERROR_CHANNEL, originalErrorChannelHeader) .build(); } - }) - .onErrorResume(t -> error ? Mono.error(t) : handleSendError(requestMessage, t)); + }); } private Mono> handleSendError(Message requestMessage, Throwable exception) {