我有一个运行 5 个 Web 应用程序的 Jetty 实例。我想取消部署这个应用程序之一,我的第一个想法是从中删除上下文:$JETTY_HOME/contexts,它可以工作,但它没有清除整个应用程序(我看到一些计划任务仍在运行(。因此,我需要另一种方法来取消部署应用程序,或者在删除上下文后进行某种清理。
提前谢谢。
删除 war 文件或关联的上下文 XML 文件通常足以清除上下文。如果您在 Jetty 实例中启用了该模块,则还可以从 JMX 运行.stop()
该模块。
关于Quartz,Jetty本身不与计划的工作进行交互。这可以通过 Web 应用程序本身向 Quartz 发出它正在退出的信号来处理。或者,您可以实现一个ServletContextListener
来实例化 Quartz 作业,这将优雅地处理上下文的删除。
相关:您可以从 JETTY 取消部署应用程序吗?