我正在使用Tomcat 6.0版本。我的要求是,当Tomcat启动时,我想启动一个QuartzScheduler
,以在规律的时间间隔内调度一些任务。我正在尝试找出最佳方法。以下是我能想到的选项 -
- 我可以通过在
web.xml
文件中具有"load-on-startup
"描述符的Servlet来执行此操作,以启动计划程序并在Servlet内安排工作。 - 可以使用
ContextListener
(这听起来比1更好)。这可能是一个干净的方法,可以在contextInitialized
方法中启动计划程序,并在contextDestroyed
方法中关闭计划程序。 - 使用MBean-descriptor。我开发了一个MBean,在服务器启动时用mbeans-descriptor.xml文件启动。
对我来说,第二种方法更好。第三种方法可能不是一个好主意,因为它显然不是要由jconsole或类似工具监视的MBean。我的目的是在Tomcat停止时启动调度程序并停止它。 有没有更好、更干净的方法来做到这一点呢?