在我的嵌入式 Jetty 服務器應用程序中,我想在 linux 中的 kill -9 命令殺死它之前關閉一些流、執行器等。我該如何處理?我觀察到,當我的 jetty 服務器正在運行時,我發出 kill -9 命令,然后“Killed”字符串打印在日志中,應用程序關閉。我已經添加了作為服務器連接器的LifeCyCleCleListener,以便如果我的服務器停止,我可以在應用程序關閉之前進行一些清理。但是在殺戮-9的情況下,這不會被調用 server = new Server(); loadConnectors(server); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); context.setContextPath("/"); server.setHandler(context); ServletHolder jerseyServlet = context.addServlet(ServletContainer.class, "/*"); jerseyServlet.setInitOrder(0); // Tells the Jersey Servlet which REST service/class to load. jerseyServlet.setInitParameter("jersey.config.server.provider.classnames", Resources.class.getCanonicalName()); server.setStopAtShutdown(true); server.start(); logger.debug("Reached this line"); private void loadConnectors(Server server) { //----Http connection setup------------------ ServerConnector connector = new ServerConnector(server); connector.setPort(9025); connector.addLifeCycleListener(new ConnectorListener()); ..... }
在 Linux 中發出 kill 命令時優雅地停止嵌入式碼頭服務器
慕碼人2483693
2022-09-14 15:36:06
