在ApplicationContext销毁之前立即触发的java Spring关机事件?
我正在寻找一个拦截器或触发器,以了解所有上下文bean都已销毁,applicationcontext实例即将销毁自身。因此,我可以在应用程序生命周期结束时执行一个进程
有一个事件类型ContextClosedEvent,它与我想做的事情很接近,但是它在销毁bean之后抛出事件。我认为它与applicationcontext的close()方法一起提供。所以它不适合我的需要
有什么想法吗
问候
阿里
# 1 楼答案
您可以使用抽象应用程序上下文类的registerShutDownHook()方法。有关更多详细信息,请参阅this.
更新
然后,您应该在方法的顶部尝试@PreDestroy注释,当spring上下文即将破坏时,您希望在该方法上运行某些东西
希望这对你有帮助。干杯
# 2 楼答案
创建一个实现SmartLifecycle的bean,getPhase返回整数。最大值。 它的stop()方法将在任何其他stop或destroy方法之前执行。 你可以在那里清理LivingBean中的所有资源