欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Quartz 定时器

程序员文章站 2022-03-26 12:17:11
...

package com.chengshu.tasker;

import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

/**
 * @author 张彦
 * @email: zhangyan1@juxinli.com
 * @date 创建时间:2016年6月17日 下午5:12:41
 * @version 1.0
 */
public class QuartzTrigger {
    public static void trigger() throws Exception {
        // 月初的零点十五分执行一次     "0 5 0 1-10 * ?"
        // 每天12点10分执行一次            "0 10 12 * * ? *"

        JobDetail job = JobBuilder.newJob(Task.class).withDescription("我的任务").withIdentity("investmetnTask", "group1").build();

        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
                .withSchedule(CronScheduleBuilder.cronSchedule("0 55 20 * * ? *")).startNow().build();

        // Grab the Scheduler instance from the Factory
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        scheduler.scheduleJob(job, trigger);
        // and start it off
        scheduler.start();

    }
}

 

 

 

 

package com.chengshu.tasker;

import java.util.Date;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;

import com.chengshu.service.TimeTask;

/**
 * @author 张彦
 * @email: zhangyan1@juxinli.com
 * @date 创建时间:2016年6月17日 下午5:13:30
 * @version 1.0
 */
public class Task implements org.quartz.Job {

    @Autowired
    TimeTask timeTask;
   
    public Task() {
    }

    @Override
    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        System.out.println(new Date()+"    我的任务被执行");
        try {
            timeTask.task();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

 

 

当然了,用spring标签更简单

 @Scheduled(cron="0 1 * * * ?") //秒 分 时 日 月 星期 年

 

相关标签: java quartz