欢迎来到天天文库
浏览记录
ID:37894252
大小:44.70 KB
页数:7页
时间:2019-06-02
《Quartz学习笔记1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、因为下个项目需要用到定时器,以前写定时器用的是Timer类,都是一些比较简单的Task,这次的后台Task比较多,并且业务也相对复杂,所有再看需求的同时,自己了看了下Quartz,先将学习笔记总结如下:1、Quartz简介a、Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或EJBs。b、主页:http://www.quartz-scheduler.org/c、目前
2、最近版本:Quartz1.8.0Released-04/22/20102、笔记记录:a、构建一个简单的Quartz程序MySimpleExample.javaJava代码1.package com.sc.quartz.myexamples; 2. 3.import java.util.Date; 4. 5.import org.quartz.JobDetail; 6.import org.quartz.Scheduler; 7.import org.quartz.SchedulerException; 8.import org.quartz.SchedulerFactory
3、; 9.import org.quartz.SimpleTrigger; 10.import org.quartz.TriggerUtils; 11.import org.quartz.impl.StdSchedulerFactory; 12. 13.public class MySimpleExample { 14. 15. public void run() throws SchedulerException{ 16. // 创建调度者工厂 17. SchedulerFactory schedulerFactory = new St
4、dSchedulerFactory(); 18. // 用工厂创建一个调度者 19. Scheduler scheduler = schedulerFactory.getScheduler(); 20. // 利用 Quartz 提供的 getNextGivenSecondDate 返回一个当前时间四舍五入的 5 的倍数时间 21. long ts = TriggerUtils.getNextGivenSecondDate(null, 5).getTime(); 1. // 创建一个工作,并命名为‘job1’
5、,放入‘group1’组中,HellowWorl 是在此工作中需要执行的类 2. JobDetail jobDetail = new JobDetail("job1","group1",HelloWorld.class); 3. // 创建一个触发器,并命名为‘trigger1’,将此触发器设置在 ‘job1’ 上 ,并设置什么情况下启动 4. SimpleTrigger simpleTrigger = new SimpleTrigger("trigger1","job1", new Date(ts), null, -1, 1000L);
6、 5. // 将 ‘job1’ 加入调度者中, 6. scheduler.scheduleJob(jobDetail, simpleTrigger); 7. // 开始运行调度程序 8. scheduler.start(); 9. // 停止调度程序 10. // scheduler.shutdown(true); 11. } 12. 13. public static void main(String[] args) throws SchedulerException
7、 { 14. MySimpleExample example = new MySimpleExample(); 15. example.run(); 16. } 17.} packagecom.sc.quartz.myexamples;importjava.util.Date;importorg.quartz.JobDetail;importorg.quartz.Scheduler;imp
此文档下载收益归作者所有