diff --git a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/JettyWebServer.java b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/JettyWebServer.java index 8e8ff7d63b9..d0c99560bca 100644 --- a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/JettyWebServer.java +++ b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/JettyWebServer.java @@ -31,7 +31,7 @@ import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.NetworkConnector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.ContextHandler; -import org.eclipse.jetty.server.handler.StatisticsHandler; +import org.eclipse.jetty.server.handler.GracefulHandler; import org.jspecify.annotations.Nullable; import org.springframework.boot.jetty.reactive.JettyReactiveWebServerFactory; @@ -94,23 +94,23 @@ public class JettyWebServer implements WebServer { } private @Nullable GracefulShutdown createGracefulShutdown(Server server) { - StatisticsHandler statisticsHandler = findStatisticsHandler(server); - if (statisticsHandler == null) { + GracefulHandler gracefulHandler = findGracefulHandler(server); + if (gracefulHandler == null) { return null; } - return new GracefulShutdown(server, statisticsHandler::getRequestsActive); + return new GracefulShutdown(server, () -> (int) (gracefulHandler.getCurrentRequestCount() + gracefulHandler.getCurrentStreamWrapperCount())); } - private @Nullable StatisticsHandler findStatisticsHandler(Server server) { - return findStatisticsHandler(server.getHandler()); + private @Nullable GracefulHandler findGracefulHandler(Server server) { + return findGracefulHandler(server.getHandler()); } - private @Nullable StatisticsHandler findStatisticsHandler(Handler handler) { - if (handler instanceof StatisticsHandler statisticsHandler) { - return statisticsHandler; + private @Nullable GracefulHandler findGracefulHandler(Handler handler) { + if (handler instanceof GracefulHandler gracefulHandler) { + return gracefulHandler; } if (handler instanceof Handler.Wrapper handlerWrapper) { - return findStatisticsHandler(handlerWrapper.getHandler()); + return findGracefulHandler(handlerWrapper.getHandler()); } return null; } diff --git a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/reactive/JettyReactiveWebServerFactory.java b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/reactive/JettyReactiveWebServerFactory.java index 1164fc1cb28..82ee17f02c3 100644 --- a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/reactive/JettyReactiveWebServerFactory.java +++ b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/reactive/JettyReactiveWebServerFactory.java @@ -24,7 +24,7 @@ import org.eclipse.jetty.ee11.servlet.ServletContextHandler; import org.eclipse.jetty.ee11.servlet.ServletHolder; import org.eclipse.jetty.server.NetworkConnectionLimit; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.handler.StatisticsHandler; +import org.eclipse.jetty.server.handler.GracefulHandler; import org.jspecify.annotations.Nullable; import org.springframework.boot.jetty.ConfigurableJettyWebServerFactory; @@ -121,9 +121,9 @@ public class JettyReactiveWebServerFactory extends JettyWebServerFactory new ForwardHeadersCustomizer().customize(server); } if (getShutdown() == Shutdown.GRACEFUL) { - StatisticsHandler statisticsHandler = new StatisticsHandler(); - statisticsHandler.setHandler(server.getHandler()); - server.setHandler(statisticsHandler); + GracefulHandler gracefulHandler = new GracefulHandler(); + gracefulHandler.setHandler(server.getHandler()); + server.setHandler(gracefulHandler); } return server; } diff --git a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/servlet/JettyServletWebServerFactory.java b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/servlet/JettyServletWebServerFactory.java index aeadd1de85d..0dd9605395e 100644 --- a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/servlet/JettyServletWebServerFactory.java +++ b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/servlet/JettyServletWebServerFactory.java @@ -58,7 +58,7 @@ import org.eclipse.jetty.server.NetworkConnectionLimit; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Response; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.handler.StatisticsHandler; +import org.eclipse.jetty.server.handler.GracefulHandler; import org.eclipse.jetty.session.DefaultSessionCache; import org.eclipse.jetty.session.FileSessionDataStore; import org.eclipse.jetty.session.SessionConfig; @@ -180,9 +180,9 @@ public class JettyServletWebServerFactory extends JettyWebServerFactory new ForwardHeadersCustomizer().customize(server); } if (getShutdown() == Shutdown.GRACEFUL) { - StatisticsHandler statisticsHandler = new StatisticsHandler(); - statisticsHandler.setHandler(server.getHandler()); - server.setHandler(statisticsHandler); + GracefulHandler gracefulHandler = new GracefulHandler(); + gracefulHandler.setHandler(server.getHandler()); + server.setHandler(gracefulHandler); } return getJettyWebServer(server); } diff --git a/module/spring-boot-jetty/src/test/java/org/springframework/boot/jetty/autoconfigure/reactive/JettyReactiveWebServerAutoConfigurationTests.java b/module/spring-boot-jetty/src/test/java/org/springframework/boot/jetty/autoconfigure/reactive/JettyReactiveWebServerAutoConfigurationTests.java index abfb38c3abe..4da788ef970 100644 --- a/module/spring-boot-jetty/src/test/java/org/springframework/boot/jetty/autoconfigure/reactive/JettyReactiveWebServerAutoConfigurationTests.java +++ b/module/spring-boot-jetty/src/test/java/org/springframework/boot/jetty/autoconfigure/reactive/JettyReactiveWebServerAutoConfigurationTests.java @@ -19,7 +19,7 @@ package org.springframework.boot.jetty.autoconfigure.reactive; import jakarta.websocket.server.ServerContainer; import org.eclipse.jetty.ee11.servlet.ServletContextHandler; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.handler.StatisticsHandler; +import org.eclipse.jetty.server.handler.GracefulHandler; import org.junit.jupiter.api.Test; import org.springframework.boot.jetty.JettyServerCustomizer; @@ -77,7 +77,7 @@ class JettyReactiveWebServerAutoConfigurationTests extends AbstractReactiveWebSe WebServer webServer = ((ReactiveWebServerApplicationContext) context.getSourceApplicationContext()) .getWebServer(); assertThat(webServer).isNotNull(); - ServletContextHandler servletContextHandler = (ServletContextHandler) ((StatisticsHandler) ((JettyWebServer) webServer) + ServletContextHandler servletContextHandler = (ServletContextHandler) ((GracefulHandler) ((JettyWebServer) webServer) .getServer() .getHandler()).getHandler(); Object serverContainer = servletContextHandler.getContext()