Quartz框架核心概念
Quartz对任务调度进行了高度抽象,提出了3个核心概念,并在org.quartz包中通过接口和类进行了描述。 任务:就是执行的工作内容。Quartz提供Job接口来支持任务定义 触发器:定义触发Job执行的时间触发规则。Quartz提供Trigger类及其子类支持触发器功能, 调度器:Quartz提供了Scheduler接口,将工作任务和触发器绑定,保证任务可以在正确的时间执行Quartz框架的使用流程
在系统中,对员工张三的工作任务进行提醒,实现每3秒钟进行一次任务提醒,定时器在10秒钟后关闭。 案例流程如下: 1.引入jar包 2.创建实体类 3.创建servicepublic class RemindService {//创建集合,书写内容public List<Plan> getPlayToday(){List<Plan> list=new ArrayList<Plan>();Plan plan1=new Plan("12月17日", "快回家了!!!");Plan plan2=new Plan("12月18日", "这是真的!!!");list.add(plan1);list.add(plan2);return list;}//打印计划的时间与内容public void plintMessage(){List<Plan> list=getPlayToday();for (Plan plan : list) {System.out.println("计划的时间:"+plan.getDate()+"计划的内容:"+plan.getTask());}}} 4.创建quartzpublic class RemindJob implements Job {//植入serviceprivate RemindService service = new RemindService();@Overridepublic void execute(JobExecutionContext arg0) throws JobExecutionException {service.plintMessage();}public RemindService getService() {return service;}public void setService(RemindService service) {this.service = service;}} 5.测试类:public class MyQuertzTest {public static void tool() throws Exception{//创建jobJobDetail job = JobBuilder.newJob(RemindJob.class)//.withIdentity("job1", "group1").build();//构建trigger/* CronTrigger trigger = TriggerBuilder.newTrigger().// withIdentity("trigger1", "group1").// withSchedule(CronScheduleBuilder.cronSchedule("0 40 18 ? * 7#3 2016")) .build();*/Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "myTriggerGroup") .withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(60) .repeatForever()) .startAt(new Date(System.currentTimeMillis())) .build();//创建调度者工厂SchedulerFactory sfc = new StdSchedulerFactory();//创建一个调度者Scheduler sched=sfc.getScheduler();//注册并进行调度sched.scheduleJob(job, trigger);sched.start();//Thread.sleep(3000);}public static void main(String[] args){try {tool();} catch (Exception e) {e.printStackTrace();}}}
使用CronTrigger(特定时间,特定操作)
CronTrigger也是Trigger的子类CronTrigger和SimpleTrigger的对比:CronTrigger允许用户更精准地控制任务的运行日期和时间,而不仅仅是定义工作的频度CronTrigger通过Cron表达式定义准确的运行时间点。创建CronTrigger的语法如下:
Cron表达式 要使用CronTrigger,必须掌握Cron表达式 Cron表达式由6~7个由空格分隔的时间元素组成。第7个元素可选 Cron表达式有几个特殊的字符,说明如下:
Cron表达式案例:
Spring3.2.11与Quartz2.2.1整合时内存泄漏问题解决 http://www.linuxidc.com/Linux/2015-06/119042.htmSpring配置Quartz任务调度框架教程 http://www.linuxidc.com/Linux/2014-11/108907.htmQuartz深入浅出 http://www.linuxidc.com/Linux/2014-09/107007.htmQuartz1.6有状态JOB碰到的棘手问题既解决方案 http://www.linuxidc.com/Linux/2014-09/107005.htmSpring 3整合Quartz 2实现定时任务 http://www.linuxidc.com/Linux/2014-09/107006.htmJava项目中定时任务之Quartz的应用 http://www.linuxidc.com/Linux/2013-12/94443.htmSpring 3 调度器示例 —— JDK 定时器和 Quartz 展示 http://www.linuxidc.com/Linux/2013-10/91946.htmQuartz框架 实现任务调度 http://www.linuxidc.com/Linux/2016-11/136778.htmSpring Quartz定时任务 http://www.linuxidc.com/Linux/2016-11/137525.htm本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138508.htm