【1】quartz quick start
来源:互联网 发布:手机淘宝提示木马病毒 编辑:程序博客网 时间:2024/06/06 23:59
一 、引入quartz
在maven pom文件中下载对应的quartz jar包依赖:
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.2</version> </dependency>
二、小试牛刀
1、定义一个Job
import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.quartz.JobKey;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;/** * 任务执行类 实现 Job接口 * 该接口只有一个方法 */public class FirstJob implements Job { //开发者实现该接口定义需要执行的任务。JobExecutionContext类提供调度上下文的各种信息 public void execute(JobExecutionContext context) throws JobExecutionException { //通过上下文获取 JobKey jobKey = context.getJobDetail().getKey(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String now = LocalDateTime.now().format(formatter); System.out.println(jobKey + "在" + now + "时,输出了:hi, quartz!!!"); // jobKey就是前面指定的 group_1.testJob_1 组名和名字 //do more这里可以执行其他需要执行的任务 }}
2、创建触发器(Trigger)和调度器(Scheduler)
import org.quartz.*;import org.quartz.impl.StdSchedulerFactory;public class FirstQuartz { public void run() throws SchedulerException { Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); /** * 调用start()方法后, scheduler里有活跃的线程 * 这个应用在调用scheduler.shutdown()后才会停止 */ scheduler.start(); // scheduler started // define the job and tie it to our FirstJob class JobDetail jobDetail = JobBuilder.newJob(FirstJob.class) .withIdentity("FirstJob_1", "FirstGroup_1") .build(); // Trigger the job to run now, and then repeat every 40 seconds Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("FirstTrigger_1", "FirstGroup_1") .startNow() .withSchedule ( SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(40) // 40秒执行一次 .repeatForever() ) .build(); //产生触发器 // Tell quartz to schedule the job using our trigger scheduler.scheduleJob(jobDetail, trigger); // 一个trigger只能关联一个job, 一个job可以被多个trigger关联 } public static void main(String[] args) throws SchedulerException { FirstQuartz demo = new FirstQuartz(); demo.run(); }}
执行main()方法后你就可以看到你定义的Job每40秒执行一次了。
Job跑起来后,可谓也是小兴奋了把,以后那些重复性的工作就交给电脑小哥了。
更多关于quartz的内容,请看后续分解。
http://www.quartz-scheduler.org/documentation/quartz-2.2.x/quick-start.html
0 0
- 【1】quartz quick start
- Quartz Quick Start Guide
- Quartz Quick Start Guide
- Quartz Quick Start Guide
- Quartz.NET - Quartz.NET Quick Start Guide
- Quartz 1.x Quick Start Guide
- OpenSocial Quick Start 1
- mongoDB笔记1-quick start
- [TypeScript语法1]quick start
- Quick Start
- Quick Start
- Velocity Quick Start [1] - 第一个实例
- Velocity Quick Start [1] - 第一个实例
- Velocity Quick Start [1] - 第一个实例
- jetty学习1 quick start jetty
- Quick Start 1 —— Desktop Basics
- WAP Push Quick Start
- Purify Quick Start
- hdu 5889 Barricade 最短路+最小割
- 安卓自制文件管理器需要注意的地方
- zookeeper的配置参数详解(zoo.cfg)
- Pandas中DateFrame修改列名
- STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具)
- 【1】quartz quick start
- Leetcode 396. Rotate Function (Easy) (java)
- 链表中的环的问题
- 在Eclipse添加Android兼容包( v4、v7 appcompat )
- discuss+标准体重计算器
- HTTP Status 500 -
- XMPP使用(1)
- 总结Oracle,MySql,SQLServer的分页查询总结
- call和apply的使用和区分