在销毁/取消部署应用程序时执行

时间:2012-03-30 21:40:50

标签: java

我有一个静态初始化块,我将DB中的数据读入某些变量,在应用程序的生命周期内更新该数据。以定期的间隔将其保存到DB,但是当应用程序意外/突然销毁/取消部署时,我想将变量的当前状态写回DB。

如何在Java中使用destroy触发器实现它?


编辑:

@PreDestroy注释怎么样,对我的案例有用吗?

1 个答案:

答案 0 :(得分:2)

假设这是一个Web应用程序,您可以实现并注册ServletContextListener。部署时将调用其contextInitialized方法,并且在取消部署时将调用contextDestroyed一次。

但是,如果容器被非理性地终止,contextDestroyed仍然可能无法运行。

有关设置一个的示例,请参阅this page