开发者

Integration of tomcat and Quartz scheduler on startup

开发者 https://www.devze.com 2023-01-02 02:08 出处:网络
I am using tomcat version 6.0. My requirement is that when tomcat starts up, I would like to start a QuartzScheduler which will schedule some jobs at a regular interval. I am trying to figure out the

I am using tomcat version 6.0. My requirement is that when tomcat starts up, I would like to start a QuartzScheduler which will schedule some jobs at a regular interval. I am trying to figure out the best possible way to do it. Here are the options that I could think of -

  1. I can do this via a servlet with "load-on-startup" descriptor in web.xml file to start the scheduler and schedule the jobs inside the servlet.
  2. Can be done using a ContextListener (this sounds a better approach to me than 1). This might be a clean approach to start the scheduler inside the contextInitialized method and shutdown the scheduler inside contextDestroyed method.
  3. Using a MBean-descriptor. I develop a MBean which will get started when the server starts up with mbeans-descriptor.xml file.

To me, it looks like second approach is better. Third one might not be a good idea as it is clearly not a MBean to be monitored by jconsole or so. My purpose 开发者_如何学Pythonis to start the scheduler and stop it when tomcat stops. Is there any better and cleaner way to do this ?


I would recommend the second approach as well, using a Servlet that exists only to start up some service, while a common usage, seems hacky to me.

It appears that quartz already provides a ServletContextListener for this exact purpose:

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

and

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

for details.

0

精彩评论

暂无评论...
验证码 换一张
取 消