[关闭]
@big-bear 2016-12-27T04:41:33.000000Z 字数 1809 阅读 1312

servlet通过listener调用quartz

java 第三方


quartz代码

  1. /**
  2. * Copyright (c) 2016, www.wisdombud.com
  3. * All Rights Reserved.
  4. */
  5. package cn.com.wisdombud.quartz;
  6. import java.text.ParseException;
  7. import javax.servlet.ServletContextEvent;
  8. import javax.servlet.ServletContextListener;
  9. import org.quartz.CronTrigger;
  10. import org.quartz.JobDetail;
  11. import org.quartz.Scheduler;
  12. import org.quartz.SchedulerException;
  13. import org.quartz.impl.StdSchedulerFactory;
  14. /**
  15. * 功能: 同步数据的listener.<br/>
  16. * date: 2016年6月24日 上午10:58:58 <br/>
  17. *
  18. * @author ytche@wisdombud.com
  19. * @version
  20. * @since JDK 1.8
  21. */
  22. public class SyncDataListener implements ServletContextListener {
  23. /**
  24. * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
  25. */
  26. @Override
  27. public void contextDestroyed(ServletContextEvent arg0) {
  28. // TODO Auto-generated method stub
  29. }
  30. /**
  31. * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
  32. */
  33. @Override
  34. public void contextInitialized(ServletContextEvent arg0) {
  35. try {
  36. Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
  37. this.cheduleJob(scheduler);
  38. scheduler.start();
  39. } catch (SchedulerException e) {
  40. // TODO Auto-generated catch block
  41. e.printStackTrace();
  42. } catch (ParseException e) {
  43. // TODO Auto-generated catch block
  44. e.printStackTrace();
  45. }
  46. }
  47. /**
  48. * 功能: Create and Schedule a syncDataJob with the Scheduler .<br/>
  49. * date: 2016年6月24日 上午11:19:00 <br/>
  50. *
  51. * @author ytche@wisdombud.com
  52. * @param scheduler
  53. * @throws ParseException
  54. * @throws SchedulerException
  55. */
  56. private void cheduleJob(Scheduler scheduler) throws ParseException, SchedulerException {
  57. JobDetail jobDetail = new JobDetail("syncData", scheduler.DEFAULT_GROUP, SyncDataJob.class);
  58. CronTrigger trigger = new CronTrigger("syncData", scheduler.DEFAULT_GROUP);
  59. trigger.setCronExpression("0 0 6,12,18, * * ?");
  60. scheduler.scheduleJob(jobDetail, trigger);
  61. }
  62. }

listener的web.xml配置

  1. <listener>
  2. <listener-class>cn.com.wisdombud.quartz.SyncDataListener</listener-class>
  3. </listener>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注