一尘不染

在启动时集成tomcat和Quartz调度程序

tomcat

我正在使用tomcat
6.0版。我的要求是,当tomcat启动时,我想启动一个QuartzScheduler,它将定期安排一些作业。我正在尝试找出最好的方法。我想到的是这些选项-

  1. 我可以通过load-on-startupweb.xml文件中带有“ ”描述符的servlet来执行此操作,以启动调度程序并调度servlet中的作业。
  2. 可以使用a来完成ContextListener(这对我来说比1更好。)在contextInitialized方法内部启动调度程序并在方法内部关闭调度程序可能是一种干净的contextDestroyed方法。
  3. 使用MBean描述符。我开发了一个MBean,它将在服务器使用mbeans-descriptor.xml文件启动时启动。

在我看来,第二种方法更好。第三点可能不是一个好主意,因为显然不是jconsole监视的MBean。我的目的是启动调度程序,并在雄猫停止运行时将其停止。有没有更好,更清洁的方法呢?


阅读 313

收藏
2020-06-16

共1个答案

一尘不染

我也将推荐第二种方法,即使用一个仅用于启动某些服务的Servlet,而对于我来说,这是一种常见用法,但似乎很不客气。

似乎石英已经为这个确切目的提供了ServletContextListener:

http://quartz-
scheduler.org/documentation/quartz-2.x/cookbook/ServletInitScheduler

http://www.quartz-scheduler.org/api/2.0.0/

有关详细信息。

2020-06-16