From 208a1ae0ead4e038d26b4c5b992e4372cbc8cb7a Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Tue, 2 Apr 2019 11:06:11 -0400 Subject: [PATCH] Sync ChannelSendOperator copy in spring-messaging See gh-22720 --- .../handler/invocation/reactive/ChannelSendOperator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/reactive/ChannelSendOperator.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/reactive/ChannelSendOperator.java index 77371140b48..6206994cf6c 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/reactive/ChannelSendOperator.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/reactive/ChannelSendOperator.java @@ -402,7 +402,12 @@ class ChannelSendOperator extends Mono implements Scannable { @Override public void onError(Throwable ex) { - this.completionSubscriber.onError(ex); + try { + this.completionSubscriber.onError(ex); + } + finally { + this.writeBarrier.releaseCachedItem(); + } } @Override