在Java项目中,定时任务是很常见的,今天我们就来实现一个动态定时任务平台。
首先简要介绍一下quartz,quartz直接翻译过来就是“石英”的意思。Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 2.3.0。
更深层次的原理我也讲不太清,如果感兴趣的可以google下。
介绍完了,现在我们看一下如何简单跑一个任务出来,直接上代码吧:
//创建一个Scheduler
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//创建作业
JobDetail jobDetail = JobBuilder.newJob(TestTask.class)
.withIdentity("job1","group1")
.build();
//创建触发规则
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("0/1 * * * * ? ");
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("job1","group1")