我使用Quartz作为Web应用程序。当我部署应用程序时一切正常,但是当我卸载该应用程序时,Quartz线程没有被销毁。
日志显示:
INFO: 停止服务Catalina
SEVERE: web应用[/example]似乎已经启动了一个名为[DefaultQuartzScheduler_Worker-1]的线程,但未能停止它。这很可能会导致内存泄漏。 Jul 12, 2010 6:30:40 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
有人能告诉我如何强制销毁这些线程吗?
谢谢,
Tommaso
SchedulerFactoryBean
的destroy()
方法将使用waitForJobsToCompleteOnShutdown
布尔参数调用org.quartz.Scheduler.shutdown()
。你是否在SchedulerFactoryBean
中将此标志设置为 true?也许 Tomcat 在关闭之前没有足够长的时间等待 Quartz 中的作业完成。 - matt b