春の Quartz SchedulerFactoryBean を使用して、10 秒ごとにタスク (SimpleTriggerBean) を実行しています。アプリをアンデプロイするときを除いて、タイマーは引き続き実行されます。停止する唯一の方法は、サーバーを再起動することです! アプリがアンデプロイされたときにタイマーを停止する JBoss または Spring 構成はありますか?
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
問題が見つかりました-サーブレットでSpringContextを破棄せずに、手動でSpringContextを初期化していました。リスナーを追加しました。すべてソートされました。
于 2010-02-08T16:42:29.977 に答える