简述
Quartz的3个基本要素
- Scheduler:调度器。所有的调度都是由它控制。Scheduler由scheduler工厂创建:DirectSchedulerFactory或者StdSchedulerFactory。StdSchedulerFactory使用较多,因为DirectSchedulerFactory使用起来不够方便,需要作许多详细的手工编码设置。Scheduler主要有三种:RemoteMBeanScheduler,RemoteScheduler和StdScheduler。
- Trigger:主要提供了四种类型的trigger:SimpleTrigger,CronTirgger,DateIntervalTrigger和 NthIncludedDayTrigger,但两个最常用的是SimpleTrigger和CronTrigger
- JobDetail & Job: JobDetail定义的是任务数据,而真正的执行逻辑是在Job中。使用JobDetail + Job而不是Job,这是因为任务是有可能并发执行,如果Scheduler直接使用Job,就会存在对同一个Job实例并发访问的问题。而JobDetail & Job 方式,sheduler每次执行,都会根据JobDetail创建一个新的Job实例,这样就可以规避并发访问的问题。