Quartz定时器
来源:互联网 发布:php 在线考试 编辑:程序博客网 时间:2024/06/05 16:07
1、先简单的进行实现,不进行任何的配置
官网下载jar包:http://www.quartz-scheduler.org/downloads/
下载之后解压会有这些jar包
2、创建一个类Quartz
public class Quartz {public static void main(String[] args) throws InterruptedException {try {//通过SchedulerFactory获取任务调度器Schedule对象SchedulerFactory sf=new StdSchedulerFactory();Scheduler sched=sf.getScheduler();//新建一个jobJobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build(); //定义一个触发器,执行job的规则(秒 分 时 日 月 年)CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1").withSchedule(CronScheduleBuilder.cronSchedule("0/10 * * * * ?")) .build();//job和触发器装载进调度器schedule Date ft = sched.scheduleJob(job, trigger); System.out.println(job.getKey() + " has been scheduled to run at: " + ft + " and repeat based on expression: " + trigger.getCronExpression()); //启动 sched.start(); /* //关闭 Thread.sleep(30000); sched.shutdown(true);*/} catch (SchedulerException e) {e.printStackTrace();}}}3、创建具体执行的定时任务,一个类MyJob继承Job
public class MyJob implements org.quartz.Job{@Overridepublic void execute(JobExecutionContext arg0) throws JobExecutionException {System.out.println("任务执行的时间:"+new Date());}}
4、运行即可看见后台每隔10s打印一次“任务执行的时间:。。。。。”
总结:这里面涉及到job、jobDetail、Trigger、Scheduler
1、job:要执行的内容,此接口只有一个方法void execute(JobExecutionContext context)
2、jobDetail:表示一个具体的可执行的调度程序,job是这个调度程序的内容,另外jobDetail还包含了这个任务调度的方案和策略
3、Trigger:代表调度参数的配置什么时候去调
4、Scheduler:代表一个调度容器,一个调度容器中可以注册多个JobDetail和Trigger,当Trigger与JobDetail组合,就可以被Scheduler容器调度了
Scheduler是一个容器,容器中有一个线程池,用来并行调度执行每个作业,容器里面盛放很多的JobDetail和Trigger,当容器启动,JobDetail会根据关联的Trigger去执行(JobDetail和Trigger组成一对),当容器关闭,所有的JobDetail停止执行
阅读全文
0 0
- quartz 定时器
- Quartz 定时器
- Quartz定时器
- Quartz定时器
- Quartz定时器
- 定时器quartz
- Quartz 定时器
- quartz定时器
- Quartz定时器
- Quartz定时器
- quartz定时器
- spring定时器与quartz定时器
- Java定时器,Spring定时器和quartz定时器
- java定时器,Spring定时器和Quartz定时器
- java定时器,Spring定时器和Quartz定时器
- 定时器quartz的应用
- Spring Quartz定时器详情
- spring定时器(quartz实现)
- Druid Monitor
- Redis常见配置redis.conf
- Logger日志级别说明及设置方法
- PHP搜索数组中是否存在指定的元素
- Android 实现一些定时计数的思路
- Quartz定时器
- cuda之遇到过的bug
- 优先级更改
- 安卓实现汉字轮播(自定义view)
- Leetcode题解-21. Merge Two Sorted Lists
- 用python对鹿晗、关晓彤微博进行情感分析 哭着学习学习~
- Spring MVC中重定向如何携带参数
- Java中创建对象的5种方式
- Jarvisoj 逆向总结