From 3635ff0c17a2e4163007b42c754ba461a3acdf8a Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 4 Dec 2024 16:39:41 +0100 Subject: [PATCH] Consistent fallback to NoUpgradeStrategyWebSocketService Closes gh-33970 (cherry picked from commit 58c64cba2cd4eeced72b874f8bc0f384e41e24f1) --- .../reactive/config/WebFluxConfigurationSupport.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurationSupport.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurationSupport.java index ac71dc84675..ffba81e8bbe 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurationSupport.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurationSupport.java @@ -478,9 +478,9 @@ public class WebFluxConfigurationSupport implements ApplicationContextAware { try { service = new HandshakeWebSocketService(); } - catch (IllegalStateException ex) { + catch (Throwable ex) { // Don't fail, test environment perhaps - service = new NoUpgradeStrategyWebSocketService(); + service = new NoUpgradeStrategyWebSocketService(ex); } } return service; @@ -578,9 +578,15 @@ public class WebFluxConfigurationSupport implements ApplicationContextAware { private static final class NoUpgradeStrategyWebSocketService implements WebSocketService { + private final Throwable ex; + + public NoUpgradeStrategyWebSocketService(Throwable ex) { + this.ex = ex; + } + @Override public Mono handleRequest(ServerWebExchange exchange, WebSocketHandler webSocketHandler) { - return Mono.error(new IllegalStateException("No suitable RequestUpgradeStrategy")); + return Mono.error(new IllegalStateException("No suitable RequestUpgradeStrategy", this.ex)); } }