private void stopAndReleaseWebServer() { WebServer webServer = this.webServer; if (webServer != null) { try { webServer.stop(); this.webServer = null; } catch (Exception ex) { throw new IllegalStateException(ex); } } }
public static void stop(ServerManager manager) { if (manager != null && manager.server != null) { try { manager.server.stop(); } catch (Exception ex) { throw new IllegalStateException(ex); } } }
private void runServer(ReactiveWebServerFactory factory, HttpHandler httpHandler, Consumer<WebServer> validator) { final WebServer server = factory.getWebServer(httpHandler); server.start(); try { validator.accept(server); } finally { server.stop(); } }
@EventListener public void gracefulShutdown(ContextClosedEvent evt) { WebServer container = serverHolder().get(); LOG.debug("Received application context closed event {}. Shutting down...", evt); LOG.info("Early shutdown of Jetty connectors on {}", container); if (container != null) { if(shouldSleepBeforeShutdown) { long sleepDurationMillisBeforeShutdown = sleepDurationBeforeShutdown.toMillis(); LOG.info("Application config requesting sleep for {} ms before Jetty shutdown", sleepDurationMillisBeforeShutdown); sleepBeforeJettyShutdown(sleepDurationMillisBeforeShutdown); } container.stop(); LOG.info("Jetty is stopped."); } else { LOG.warn("Never got a Jetty?"); } }