【发布时间】:2011-02-27 21:01:38
【问题描述】:
我使用的是 6.0 版的 tomcat。我的要求是,当tomcat启动时,我想启动一个QuartzScheduler,它将定期安排一些工作。我试图找出最好的方法来做到这一点。以下是我能想到的选项 -
- 我可以通过
web.xml文件中带有“load-on-startup”描述符的 servlet 来启动调度程序并在 servlet 中调度作业。 - 可以使用
ContextListener来完成(这对我来说听起来比1 更好)。这可能是一种在contextInitialized方法中启动调度程序并在contextDestroyed方法中关闭调度程序的干净方法。 - 使用 MBean 描述符。我开发了一个 MBean,它将在服务器使用 mbeans-descriptor.xml 文件启动时启动。
对我来说,看起来第二种方法更好。第三个可能不是一个好主意,因为它显然不是由 jconsole 监控的 MBean。我的目的是启动调度程序并在tomcat停止时停止它。 有没有更好更清洁的方法来做到这一点?
【问题讨论】:
-
这里是一个如何使用 spring 执行此操作的示例:bxm.at/blogs/java/2007/08/29/quartz_spring
-
@AshKim 链接的博客已移动:blog.ehrnhoefer.com/2007-08-29-quartz-2-spring
标签: java tomcat quartz-scheduler