【问题标题】:Integration of tomcat and Quartz scheduler on startup启动时集成tomcat和Quartz调度器
【发布时间】:2011-02-27 21:01:38
【问题描述】:

我使用的是 6.0 版的 tomcat。我的要求是,当tomcat启动时,我想启动一个QuartzScheduler,它将定期安排一些工作。我试图找出最好的方法来做到这一点。以下是我能想到的选项 -

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

对我来说,看起来第二种方法更好。第三个可能不是一个好主意,因为它显然不是由 jconsole 监控的 MBean。我的目的是启动调度程序并在tomcat停止时停止它。 有没有更好更清洁的方法来做到这一点?

【问题讨论】:

标签: java tomcat quartz-scheduler


【解决方案1】:

我也推荐第二种方法,使用仅存在于启动某些服务的 Servlet,虽然这是一种常见用法,但对我来说似乎很老套。

Quartz 似乎已经为此目的提供了一个 ServletContextListener:

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

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

了解详情。

【讨论】:

  • Opps 从来不知道 Quartz 已经提供了 ContextListenner。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多