Quartz 使用笔记

[size=medium][b]1.Quartz的主要构件:[/b]
SchedulerFactory, Scheduler, Job, JobDetail, Trigger
SchedulerFactory 标准实现StdSchedulerFactory,
从SchedulerFactory.getScheduler()拿到Scheduler就启动scheduler.start();
实现Job接口的类是我们具体要做的事,
JobDetail是为了封装Job,设置属性等,
Trigger是定义什么时候要执行job的execute()方法.
再使用scheduler.scheduleJob(jobDetail, trigger);将job跟trigger联系起来.
看起来结构是挺明晰的.

[b]2.关于Job和JobDetail[/b]
每次scheduler执行job时,都会重新newInstance一个Job对象,所以job需要有一个没有参数的构造函数,job是无状态的.当job加入到Quartz系统中时,它需要job的一些基本信息,而这些是由JobDetail提供的
JobDetail jobDetail = new JobDetail("dumpJob",null,DumpJob.class);
JobDetail中还有一个JobDataMap,这是个Map的简单实现,这个jobDataMap可以在job的execute(JobExecutionContext context)方法中通过context得到.
Trigger也有个与它相关的JobDataMap
另外在job的execute()方法中只能抛出JobExecuteException,所以可能需要自己在execute中处理可能的异常. 抛出异常并不会终止Quartz的运行,

[b]3.关于Trigger: SimpleTrigger和CronTrigger[/b]
可以使用TriggerUtils类构造各种Trigger
SimpleTrigger的参数选择:startTime,endTime, repeatCount,repeatInterval
CronTrigger类似linux下的cron
秒 分 时 日 月 星期 年

星期缩写SUN, MON, TUE, WED, THU, FRI, SAT
月份缩写JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
主要就是要构造cron表达式

[b]4.关于jobStore[/b]
JobStore是保存scheduler工作资料(job, trigger,etc)的地方,
可以有两种实现RAMJobStore,JDBCJobStore


[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值