java读取quartz脚本_常用编程--Java Quartz 定时执行-JavaDemo

本文通过一个实例展示了如何在Java中利用Quartz库创建定时任务。首先引入了Quartz的相关依赖,然后定义了一个实现了`Job`接口的`MyJob`类,该类在执行时打印当前时间。接着创建了任务调度器`MainScheduler`,它配置了一个每5秒执行一次的触发器,并启动调度器执行任务。通过调用`MainScheduler.main()`,实现了定时打印当前时间的功能。
摘要由CSDN通过智能技术生成

本例列举使用Java如何直接使用Quartz的定时调用功能

Maven包的引用

org.quartz-scheduler

quartz

2.2.2

创建要被定执行的任务类

创建一个实现了org.quartz.Job接口的类,并实现这个接口的唯一一个方法execute(JobExecutionContext arg0) throws JobExecutionExceptionimport java.text.SimpleDateFormat;

import java.util.Date;

import org.quartz.Job;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

/**创建要被定执行的任务类

* @author royli

*

*/

public class MyJob implements Job{

public void execute(JobExecutionContext context)

throws JobExecutionException {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

System.out.println(sdf.format(new Date()));

}

}

创建任务调度,并调用执行import org.quartz.JobBuilder;

import org.quartz.JobDetail;

import org.quartz.Scheduler;

import org.quartz.SchedulerException;

import org.quartz.SchedulerFactory;

import org.quartz.SimpleScheduleBuilder;

import org.quartz.Trigger;

import org.quartz.TriggerBuilder;

import org.quartz.impl.StdSchedulerFactory;

/**创建任务调度,并执行

* @author royli

*

*/

public class MainScheduler {

//创建调度器

public Scheduler getScheduler() throws SchedulerException{

SchedulerFactory schedulerFactory = new StdSchedulerFactory();

return schedulerFactory.getScheduler();

}

public void schedulerJob() throws SchedulerException{

//创建任务

JobDetail jobDetail = JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build();

//创建触发器 每5秒钟执行一次

Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group3")

.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever())

.build();

Scheduler scheduler = getScheduler();

//将任务及其触发器放入调度器

scheduler.scheduleJob(jobDetail, trigger);

//调度器开始调度任务

scheduler.start();

}

public static void main(String[] args) throws SchedulerException {

MainScheduler mainScheduler = new MainScheduler();

mainScheduler.schedulerJob();

}

}

MainScheduler.main()依次创建了scheduler(调度器)、job(任务)、trigger(触发器),其中,job指定了MyJob,trigger保存job的触发执行策略(每隔5s执行一次),scheduler将job和trigger绑定在一起,最后scheduler.start()启动调度,每隔5s打印出当前时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值