【发布时间】:2018-06-18 10:19:26
【问题描述】:
我有一个简单的 Jetty 服务器,它从 web.xml 运行一个 webapp。该文件有一些 servlet 和一个 ServletContextListener。当一切正常启动时,一切正常,包括退出时正常关机。
但是,如果由于某种原因启动该 webapp 失败,我希望服务器仍能正常关闭。这包括调用相关ServletContextListeners 的contextDestroyed 方法。
WebAppContext context = ...;
Server server = ...;
server.start();
if (!context.isAvailable()) {
// startup failed
server.stop(); // I would expect this to call contextDestroyed
}
如何让 Jetty 自行正确清理?
如果重要的话,当在 Tomcat 中运行与 war 相同的 Web 应用程序时,它可以正常工作,并且实际上会在启动失败时正确关闭。
【问题讨论】: