diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractListenerWriteProcessor.java b/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractListenerWriteProcessor.java index 21cbe604823..a746456559b 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractListenerWriteProcessor.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractListenerWriteProcessor.java @@ -163,11 +163,11 @@ public abstract class AbstractListenerWriteProcessor implements ProcessorDefaults to no-op. Servlet 3.1 based implementations will receive + * {@code javax.servlet.WriteListener#onError(Throwable)} event. */ - protected void writingFailed(Throwable t) { + protected void writingFailed(Throwable ex) { } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java index 5cf8324c0ea..f43f1c8ac4a 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java @@ -192,9 +192,10 @@ public class ServletServerHttpResponse extends AbstractListenerServerHttpRespons } void handleError(Throwable ex) { - if (bodyFlushProcessor != null) { - bodyFlushProcessor.cancel(); - bodyFlushProcessor.onError(ex); + ResponseBodyFlushProcessor flushProcessor = bodyFlushProcessor; + if (flushProcessor != null) { + flushProcessor.cancel(); + flushProcessor.onError(ex); } ResponseBodyProcessor processor = bodyProcessor; @@ -206,9 +207,10 @@ public class ServletServerHttpResponse extends AbstractListenerServerHttpRespons @Override public void onComplete(AsyncEvent event) { - if (bodyFlushProcessor != null) { - bodyFlushProcessor.cancel(); - bodyFlushProcessor.onComplete(); + ResponseBodyFlushProcessor flushProcessor = bodyFlushProcessor; + if (flushProcessor != null) { + flushProcessor.cancel(); + flushProcessor.onComplete(); } ResponseBodyProcessor processor = bodyProcessor; diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java index 9b14bb7a967..1d2358611db 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java @@ -231,9 +231,9 @@ public class UndertowServerHttpResponse extends AbstractListenerServerHttpRespon } @Override - protected void writingFailed(Throwable t) { + protected void writingFailed(Throwable ex) { cancel(); - onError(t); + onError(ex); } }