代码之家  ›  专栏  ›  技术社区  ›  Jorn

让Jetty优雅地关闭一个启动失败的webapp上下文

  •  1
  • Jorn  · 技术社区  · 6 年前

    web.xml . 该文件有一些servlet和 ServletContextListener . 当一切正常启动时,这是完美的工作,包括优雅关闭出口。

    contextDestroyed 相关研究方法 ServletContextListeners .

    WebAppContext context = ...;
    Server server = ...;
    server.start();
    
    if (!context.isAvailable()) {
      // startup failed
      server.stop(); // I would expect this to call contextDestroyed
    }
    

    如果有关系的话,当运行与 war

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jan    6 年前

    你不能说你在运行什么版本的Jetty。我已经对照jetty的最新版本进行了检查,其行为与预期一致:如果servlet未能正确初始化,那么webapp将被标记为不可用,并且在调用server.stop()时,将调用contextDestroy listener方法。你能提供更多的细节吗,比如jetty版本,日志输出,webapp在什么时候启动失败等等。