我使用 spring Quartz SchedulerFactoryBean 每 10 秒运行一次任务(SimpleTriggerBean)。它工作得很好,除了当我取消部署应用程序时,计时器继续运行。阻止它的唯一方法是重新启动服务器!是否有一些 JBoss 或 Spring 配置会在取消部署应用程序时停止计时器?
问问题
809 次
2 回答
2
我在 Spring Scheduler 上遇到了完全相同的问题,并且在侦听器中破坏上下文就可以了。例子:
public class InitListener implements javax.servlet.ServletContextListener {
protected static final Logger logger = LoggerFactory.getLogger(InitListener.class);
protected static final ClassPathXmlApplicationContext springContext = new ClassPathXmlApplicationContext(
"applicationContext.xml");;
public void contextInitialized(ServletContextEvent arg0) {
logger.info("Servlet Context is initialized....");
}
public void contextDestroyed(ServletContextEvent arg0) {
springContext.destroy();
logger.info("Servlet Context is destroyed....");
}
}
于 2011-11-30T00:18:40.610 回答
0
发现了问题 - 我手动初始化 Spring Context 而没有使用 servlet 破坏它。添加了一个监听器,现在一切都已排序。
于 2010-02-08T16:42:29.977 回答