Quartz 定时器

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: [email protected]
 * @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: [email protected]
 * @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 * * * ?") //秒 分 时 日 月 星期 年

猜你喜欢

转载自e-e.iteye.com/blog/2320113