Java定时框架quartz简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LittleMangoYX/article/details/83381737

我们在写Java程序中经常会写一些定时执行的任务,例如每天执行一次什么方法,几分钟或者几个小时调用一次存储过程等等
Quartz的三个核心概念:
任务:执行工作的内容,Quartz提供job接口来支持任务定义
触发器:定义触发job执行的事件触发规则,Quartz提供Trigger类及其子类支持触发功能
调度器:Quartz提供Scheduler接口,将工作任务和触发器绑定,保证任务可以在正确的时间执行

创建任务:
public class myJob implements Job {
    public void execute(JobExecutionContext context) 
            throws JobExecutionException {
        System.out.println("this is a QuartzJob"+ 
            new Date() + " by " + context.getTrigger().getName());
    }
}

调度任务:为了调度此任务执行,需要先得到一个Schedule实例,然后创建一个包含任务信息的JobDetail,最后创建一个Trigger管理任务的执行。
public class Scheduling {

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

        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
        Scheduler scheduler = schedulerFactory.getScheduler();
    
    //定义一个JobDetail,任务名,任务组,任务执行类
        JobDetail jobDetail = new JobDetail("myJob", 
                Scheduler.DEFAULT_GROUP, myJob.class);

    //定义一个Trigger,触发器名,触发器组
        SimpleTrigger simpleTrigger = new SimpleTrigger("simpleTrigger", 
                Scheduler.DEFAULT_GROUP);
    
        simpleTrigger.setStartTime(new Date(System.currentTimeMillis()));
        simpleTrigger.setRepeatInterval(5000);
        simpleTrigger.setRepeatCount(10);
    //加入这个调度
        scheduler.scheduleJob(jobDetail, simpleTrigger);
    //启动
        scheduler.start();
    }

}

猜你喜欢

转载自blog.csdn.net/LittleMangoYX/article/details/83381737