Quartz定时任务(纯java方式实现)
来源:互联网 发布:知乎日报 rss 编辑:程序博客网 时间:2024/06/05 00:22
1.首先说一下Quartz的三个核心概念
任务:就是执行的工作内容。Quartz提供Job接口来支持任务定义
触发器:定义触发Job执行的时间触发规则。Quartz提供Trigger类及其子类支持触发器功能,
调度器:Quartz提供了Scheduler接口,将工作任务和触发器绑定,保证任务可以在正确的时间执行
2.这是定时任务需要用到的jar包
这里附加上下载链接
链接:http://pan.baidu.com/s/1jH5FvZC 密码:9066
3.先附加上整个项目的所有包
4.下面是每个类的具体代码
package com.qua.entity;public class Plan {public Plan() {super();}public Plan(String task, String time) {super();this.task = task;this.time = time;}private String task;private String time;public String getTask() {return task;}public void setTask(String task) {this.task = task;}public String getTime() {return time;}public void setTime(String time) {this.time = time;}@Overridepublic String toString() {return "Plan [task=" + task + ", time=" + time + "]";}}
package com.qua.service;import java.util.ArrayList;import java.util.List;import com.qua.entity.Plan;public class PlanService {public void show(){List<Plan> plans=getForData();for (Plan plan : plans) {System.out.println(plan);}}private List<Plan> getForData(){List<Plan> list=new ArrayList<Plan>();list.add(new Plan("开会", "08:50"));list.add(new Plan("需求分析", "10:50"));return list;}}
package com.qua.job;import org.quartz.Job;import org.quartz.JobDataMap;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import com.qua.service.PlanService;public class PlanJob implements Job {private PlanService ps;@Overridepublic void execute(JobExecutionContext jec) throws JobExecutionException {ps=new PlanService();//获取外部传入的参数JobDataMap map=jec.getJobDetail().getJobDataMap();String name=map.getString("username");System.out.println(name);ps.show();}}package com.qua.test;import java.util.Date;import org.quartz.CronTrigger;import org.quartz.JobDataMap;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.SimpleTrigger;import org.quartz.impl.StdSchedulerFactory;import com.qua.job.PlanJob;public class Test {public static void main(String[] args) throws Exception {//创建jobJobDetail detail=new JobDetail("myJob", "myGroup", PlanJob.class);//向程序内部传入参数JobDataMap map=detail.getJobDataMap();map.put("username", "张三");//这里的触犯器是规定的时间间隔内做的事,不是很常用////创建触发器//SimpleTrigger trigger=new SimpleTrigger("myTrigger",SimpleTrigger.REPEAT_INDEFINITELY, 3000);////设置开始执行时间//trigger.setStartTime(new Date(System.currentTimeMillis()+1000));//下面这个是在指定时间做的事,在日常开发中是比较常用的//指定时间CronTrigger trigger=new CronTrigger("myCron", "myGroup", "40 10 11 * * ?");//这里有三个参数(1.触发器的名称2.触发器的组3.时间表达式)//创建调度工厂SchedulerFactory factory=new StdSchedulerFactory();//创建调度器Scheduler scheduler=factory.getScheduler();//绑定job 和触发器scheduler.scheduleJob(detail, trigger);//启动scheduler.start();////停止定时任务//scheduler.shutdown();}}
5.下面附上cron表达式的一些参数
下面是一些事例
至此,纯java的方式实现已经完成
纯手打,不喜勿喷,刚开始写博客,日后慢慢改善。望理解。
阅读全文
0 0
- Quartz定时任务(纯java方式实现)
- Java Web实现定时任务quartz方式
- spring 定时任务(quartz方式实现)
- Java简单定时任务实现(Quartz)
- java Quartz定时任务实现
- java实现定时任务(Quartz)
- Quartz-java定时任务实现
- Spring定时任务的实现方式--Quartz
- quartz java实现的定时任务框架
- quartz (java定时任务实现事例)
- java定时任务管理实现-quartz
- Java spring +quartz实现定时任务
- java spring-quartz定时器实现定时任务
- Quartz实现定时任务
- Quartz实现定时任务
- quartz实现定时任务
- quartz实现定时任务
- quartz实现定时任务
- Tomcat(64位)免安装版的环境安装与配置
- 用C#调用蓝牙编程
- 比特币第一疑案:门头沟被盗事件
- 小玩具——温度采集项目(三)
- Glide系列之二:从源码的角度深入理解Glide的执行流程
- Quartz定时任务(纯java方式实现)
- 关于Document生成xml的总结(二)
- maven的安装教程
- JAVA强制类型转换
- 初识粒子群算法
- HDU1005Number Sequence
- C语言位排序
- 线程和进程
- Java中几种常用的分页