【Quartz指南】在Web应用中用Quartz

初始化调度器

我们可以在Web应用中的配置文件web.xml里设置一个Quartz的Servlet-QuartzInitializerServlet

<web-app>

 

<servlet>

<servlet-name>QuartzInitializer</servlet-name>  <display-name>Quartz Initializer Servlet</display-name><servlet-class>   org.quartz.ee.servlet.QuartzInitializerServlet </servlet-class>   <load-on-startup>1</load-on-startup>  <init-param>   <param-name>config-file</param-name>   <param-value>/some/path/my_quartz.properties</param-value> </init-param>  <init-param>   <param-name>shutdown-on-unload</param-name>   <param-value>true</param-value> </init-param>  <init-param>   <param-name>start-scheduler-on-load</param-name>   <param-value>true</param-value> </init-param>  </servlet>   <!– other web.xml items here –>

</web-app>

说明:config-file参数值是StdSchedulerFactory用来实例化调度器的,可以把自己写的Quartz属性文件放在classPath即WEB-INF/classes路径下。

访问调度器

从Quartz1.5开始,QuartzInitializerServlet将自动储存StdSchedulerFactory实例在ServletContext里:

// 从Session中获得ServletContext

              ServletContext ctx =

request.getSession().getServletContext();

// 从ServletContext中获得StdSchedulerFactory

StdSchedulerFactory factory = (StdSchedulerFactory)ctx.getAttribute(

QuartzFactoryServlet.QUARTZ_FACTORY_KEY);

// 从StdSchedulerFactory中获得Scheduler

Scheduler scheduler = factory.getScheduler();

// 启动Scheduler

scheduler.start();

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 【Quartz指南】在Web应用中用Quartz

分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址