繁体   English   中英

热部署后,执行程序线程继续运行

[英]Executor thread keeps running after hot deploy

有没有办法知道战争何时被热部署,所以我可以关闭正在运行计划任务的旧执行器? 我正在使用jboss 6,我有一个预定的线程池,它在后台定期更新数据。 当我热部署时,该线程池没有关闭并且new启动,所以我有多个预定的线程池。

感谢您的任何意见。

是的,但这取决于您启动Executor以及您使用的技术:

  • ServletContextListener中 :在contextInitialized()启动Executor并在contextDestroyed()中将其关闭。

  • 在servlet中,在init()启动Executor ,用destroy()关闭它

  • 在EJB / Spring bean中:从@PostConstruct注释的方法开始,在@PreDestroy关闭。

当然。 这取决于你如何运行这个线程。 例如,如果您从sevlet运行它,请使用servlet的destroy()方法来停止它。 如果您正在使用其应用程序上下文的Spring使用lifecicle。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM