码迷,mamicode.com
首页 > 编程语言 > 详细

Quartz实现定期运行程序(Java)

时间:2017-11-12 13:27:11      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:logs   rri   nts   dsc   光棍节   执行   tool   UI   div   


package
Quartz; import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class MyJob implements Job { @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); System.out.println("当前时间为:" + sdf.format(new Date())); System.out.println("hello world"); } }
package Quartz;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.CronScheduleBuilder;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;

import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;
import static org.quartz.CronScheduleBuilder.cronSchedule;

public class TimeUpdate {
    public void go() throws Exception {
        // 首先,必需获得一个schedular
        SchedulerFactory sf = new StdSchedulerFactory();
        Scheduler scheduler = sf.getScheduler();

        // job1将每隔20秒执行一次
        JobDetail job = newJob(MyJob.class).withIdentity("job1", "group1")
                .build();
        CronTrigger trigger = newTrigger().withIdentity("trigger1", "group1")
                .withSchedule(cronSchedule("0/20 * * * * ?")).build();
        Date ft = scheduler.scheduleJob(job, trigger);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        System.out.println(job.getKey() + " 已被安排执行于: " + sdf.format(ft)
                + ",并且以如下重复规则重复执行: " + trigger.getCronExpression());
        scheduler.start();
    }

    public static void main(String[] args) throws Exception {
        TimeUpdate test = new TimeUpdate();
        test.go();
    }
}

技术分享

/* 
-------------------------------------- 
    0 0 12 * * ?            每天12点触发 
    0 15 10 ? * *           每天10点15分触发 
    0 15 10 * * ?           每天10点15分触发 
    0 15 10 * * ? *         每天10点15分触发 
    0 15 10 * * ? 2005      2005年每天10点15分触发 
    0 * 14 * * ?            每天下午的 2点到2点59分每分触发 
    0 0/5 14 * * ?          每天下午的 2点到2点59分(整点开始,每隔5分触发) 
    0 0/5 14,18 * * ?       每天下午的 2点到2点59分(整点开始,每隔5分触发) 每天下午的 18点到18点59分(整点开始,每隔5分触发) 
    0 0-5 14 * * ?          每天下午的 2点到2点05分每分触发 
    0 10,44 14 ? 3 WED      3月分每周三下午的 2点10分和2点44分触发 
    0 15 10 ? * MON-FRI     从周一到周五每天上午的10点15分触发 
    0 15 10 15 * ?          每月15号上午10点15分触发 
    0 15 10 L * ?           每月最后一天的10点15分触发 
    0 15 10 ? * 6L          每月最后一周的星期五的10点15分触发 
    0 15 10 ? * 6L 2002-2005    从2002年到2005年每月最后一周的星期五的10点15分触发 
    0 15 10 ? * 6#3         每月的第三周的星期五开始触发 
    0 0 12 1/5 * ?          每月的第一个中午开始每隔5天触发一次 
    0 11 11 11 11 ?         每年的11月11号 11点11分触发(光棍节) 
-------------------------------------- 
 */  

在线Cron 表达式生成器地址为:http://www.pdtools.net/tools/becron.jsp 

Quartz实现定期运行程序(Java)

标签:logs   rri   nts   dsc   光棍节   执行   tool   UI   div   

原文地址:http://www.cnblogs.com/Michael2397/p/7821289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!