有没有办法知道战争何时被热部署,所以我可以关闭正在运行计划任务的旧执行程序?我正在使用jboss 6,我有一个预定的线程池,它在后台定期更新数据。当我热部署时,该线程池没有关闭并且new启动,所以我有多个预定的线程池。
感谢您的任何意见。
答案 0 :(得分:4)
是的,但这取决于您启动Executor
的位置以及您使用的技术:
:在Executor
中启动contextInitialized()
并在contextDestroyed()
中将其关闭。
,在Executor
中启动init()
,然后使用destroy()
:在@PostConstruct
注释的方法中启动,在@PreDestroy
中关闭。
答案 1 :(得分:0)
不确定。这取决于你如何运行这个线程。例如,如果您从sevlet运行它,请使用servlet的destroy()
方法来停止它。如果您正在使用其应用程序上下文的Spring使用lifecicle。