Java Quartz用法
2024-08-27 01:32:09
code:
这里的MyJob必须是public,这里Job实例化的时候要用到反射,必须是public的,不能与调度操作放同一个.java文件中。
package com.qhong; import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar; /**
* Created by Administrator on 2017/3/14 0014.
*/
public class MyJob implements Job {
@Override
//把要执行的操作,写在execute方法中
public void execute(JobExecutionContext arg0) throws JobExecutionException {
DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
System.out.println("测试Quartz"+ df.format(Calendar.getInstance().getTime()));
}
}
Main:
package com.qhong; import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Calendar; public class Main {
public static void main(String[] args) { DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
System.out.println("开始时间:"+ df.format(Calendar.getInstance().getTime())); //通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
// 通过schedulerFactory获取一个调度器
scheduler = schedulerfactory.getScheduler(); // 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "jgroup1").build(); // 定义调度触发规则 // 使用simpleTrigger规则
// Trigger trigger=TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
// .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8))
// .startNow().build();
// 使用cornTrigger规则 每天10点42分
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
.withSchedule(CronScheduleBuilder.cronSchedule("0/15 * * * * ? *"))
.startNow().build(); // 把作业和触发器注册到任务调度中
scheduler.scheduleJob(job, trigger); // 启动调度
scheduler.start(); } catch (Exception e) {
e.printStackTrace();
}
}
}
Result:
开始时间:2017-03-14 15:12:53:516
测试Quartz2017-03-14 15:13:00:005
测试Quartz2017-03-14 15:13:15:001
测试Quartz2017-03-14 15:13:30:002
测试Quartz2017-03-14 15:13:45:049
测试Quartz2017-03-14 15:14:00:008
测试Quartz2017-03-14 15:14:15:001
测试Quartz2017-03-14 15:14:30:008
测试Quartz2017-03-14 15:14:45:005
测试Quartz2017-03-14 15:15:00:002
测试Quartz2017-03-14 15:15:15:000
http://www.cnblogs.com/jiaoyiping/archive/2013/05/20/3088092.html
http://blog.csdn.net/yuebinghaoyuan/article/details/9045471
http://www.cnblogs.com/yelongsan/p/6373778.html
最新文章
- C#开发微信门户及应用(8)-微信门户应用管理系统功能介绍
- sql传入组合字符串批量操作
- 学习下nginx负载均衡--深入理解nginx
- myeclipse下java文件乱码问题解决
- 为benchmarksql的PostgreSQL java驱动进行升级
- $.trim()函数
- [转载] 高效MacBook工作环境配置
- Python快速教程
- Codeforces Round #242 (Div. 2) C题
- linux下 ls 排序
- mongoDB在windows下基于配置文件的安装和权限配置方式
- 【转载】socket的半包,粘包与分包的问题
- UVa 573 - The Snail
- Ajax页面的加载数据与删除
- 非负矩阵分解NMF
- Ionic Framework - Getting 'ionic start [appName]' Working Behind a Proxy
- [MicroPython]TPYBoard v102炫彩跑马灯WS2812B
- IdentityServer4【Introduction】之支持的规范
- MySql 在cmd下的学习笔记 —— 有关储存过程的操作(procedure)
- 【转载】TensorFlow学习笔记:共享变量