@Override public void stop() throws Exception { shutdown.shutdown(); shutdown.awaitShutdown(awaitShutdown); server.stop(); }
static public void shutdown() { // need to unregister the service if (config.enableRegistry && registry != null) { registry.unregister(serviceUrl); // Please don't remove the following line. When server is killed, the logback // won't work anymore. // Even debugger won't reach this point; however, the logic is executed // successfully here. System.out.println("unregister serviceUrl " + serviceUrl); if (logger.isInfoEnabled()) logger.info("unregister serviceUrl " + serviceUrl); } if (gracefulShutdownHandler != null) { logger.info("Starting graceful shutdown."); gracefulShutdownHandler.shutdown(); try { gracefulShutdownHandler.awaitShutdown(60 * 1000); } catch (InterruptedException e) { logger.error("Error occurred while waiting for pending requests to complete.", e); } logger.info("Graceful shutdown complete."); } ShutdownHookProvider[] shutdownHookProviders = SingletonServiceFactory.getBeans(ShutdownHookProvider.class); if (shutdownHookProviders != null) Arrays.stream(shutdownHookProviders).forEach(s -> s.onShutdown()); stop(); logger.info("Cleaning up before server shutdown"); }
@Override public void stop() throws Exception { shutdown.shutdown(); shutdown.awaitShutdown(awaitShutdown); server.stop(); }
/** * Perform shutdown. * @param delay is delay to force * @throw InterruptedException if we have an interruption */ public void shutdown(Integer delay) throws InterruptedException { undertowShutdownHandlerWrapper.getGracefulShutdownHandler().shutdown(); undertowShutdownHandlerWrapper.getGracefulShutdownHandler().awaitShutdown(delay * 1000); } }
for (GracefulShutdownHandler handler : handlers) { try { handler.awaitShutdown(30 * 1000);
shutdownHandler.awaitShutdown(60 * 1000); // up to 1 minute } catch (InterruptedException ie) { LOGGER.error("Error while waiting for pending request to complete", ie);