【问题标题】:Executor thread keeps running after hot deploy执行器线程在热部署后继续运行
【发布时间】:2011-09-27 18:01:04
【问题描述】:

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

感谢您的任何意见。

【问题讨论】:

    标签: java jboss6.x


    【解决方案1】:

    是的,但这取决于您从哪里开始 Executor 以及您使用的技术:

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

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

    • 在 EJB/Spring bean 中:在使用 @PostConstruct 注释的方法中启动,在 @PreDestroy 中关闭。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-15
        相关资源
        最近更新 更多