概述
文章目录
- 一、quartz是什么?
- 二、怎么用quartz
- 1.创建一个任务类
- 2.写触发器和调度器
- 总结
一、quartz是什么?
在网上找博客却对不上自己公司的代码时,请确定你是否真的了解了java定时器,java实现定时到底有几种方式。
二、怎么用quartz
1.创建一个任务类
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println("Hello World");
}
2.写触发器和调度器
1.使用SimpleTrigger:
public class SchedulerUtil {
private static Logger _logger = Logger.getLogger(SchedulerUtil.class);
public static void handleSimpleTrigger(String jobName, String jobGroupName,
String triggerName, String triggerGroupName, Class jobClass,
int time, int count) {
// 通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
// 通过schedulerFactory获取一个调度器
scheduler = schedulerfactory.getScheduler();
// 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail job = JobBuilder.newJob(jobClass)
.withIdentity(jobName, jobGroupName).build();
// 定义调度触发规则
//使用simpleTrigger规则
Trigger trigger=TriggerBuilder.newTrigger()
.withIdentity(triggerName,triggerGroupName)
.withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(time)
.withRepeatCount(count))
.startNow().build();
// 把作业和触发器注册到任务调度中
scheduler.scheduleJob(job, trigger);
// 启动调度
scheduler.start();
} catch (Exception e) {
_logger.warn("执行"+jobGroupName+"组"+jobName+"任务出现异常E:["+ e.getMessage() + "]");
}
}
使用CronTrigger:
public static void hadleCronTrigger(String jobName, String jobGroupName,
String triggerName, String triggerGroupName, Class jobClass,String cron) {
// 通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
// 通过schedulerFactory获取一个调度器
scheduler = schedulerfactory.getScheduler();
// 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail job = JobBuilder.newJob(jobClass)
.withIdentity(jobName, jobGroupName).build();
// 定义调度触发规则
//使用cornTrigger规则
每天18点30分
Trigger trigger=TriggerBuilder.newTrigger().withIdentity(triggerName, triggerGroupName)
.withSchedule(CronScheduleBuilder.cronSchedule(cron))
.startNow().build();
// 把作业和触发器注册到任务调度中
scheduler.scheduleJob(job, trigger);
// 启动调度
scheduler.start();
} catch (Exception e) {
_logger.warn("执行"+jobGroupName+"组"+jobName+"任务出现异常E:["+ e.getMessage() + "]");
}
}
总结
最后
以上就是执着白昼为你收集整理的java学习-quartz一、quartz是什么?二、怎么用quartz总结的全部内容,希望文章能够帮你解决java学习-quartz一、quartz是什么?二、怎么用quartz总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复