雨翔河
首页
列表
关于
Quartz初体验
2016-07-31 02:46
Quartz是一个开源作业调度框架。 看了一下官方的例子,一些简单的任务执行非常方便,和使用linux里的contab有点类似。 大致就是在你的Job接口实现类里面,添加一些逻辑到execute()方法。一旦你配置好Job实现类并设定好调度时间表, quartz就会去准备执行。 直接看代码吧 先解决依赖,它需要的依赖比较少。 ```xml <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency> ``` 下面是主要代码: ```java public class App { private static final int SECONDS = 5; //多少秒执行一次这个任务 public static void main(String[] args) throws SchedulerException { Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); //配置任务的描述等 JobDetail job = newJob(MyJob.class) .withIdentity("job1", "group1") .withDescription("detail") .build(); //配置任务的执行规律等等 Trigger trigger = newTrigger() .withIdentity("trigger1", "group1") .startNow() .withSchedule(simpleSchedule() .withIntervalInSeconds(SECONDS) .repeatForever()) .build(); //组装好任务 scheduler.scheduleJob(job, trigger); System.out.println("start job"); //启动 scheduler.start(); } } ``` 任务启动: ```java /** * MyJob */ public class MyJob implements Job { public MyJob() { System.out.println("my job "); } public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("execute"); } } ``` 到这里一个简单的quartz任务调度就ok了,这是在一个简单的应用中使用quartz。 它也可以放入web中,这里就不详解了,注册监听器,随着容器启动就可以了,不过要注意的是销毁的时候要记得清理掉定时任务,
类型:随笔
标签:quartz,java
Copyright © 雨翔河
我与我周旋久
独孤影
开源实验室