Quartz任务调度简介--浅谈CronTrigger的作用

CronTrigger的作用:
基于日历的作用调度器,而不像SimpleTrigger那样精确的指定时间间隔,比SimpleTrigger更常用.
Cron表达式:
用于配置CronTrigger实例。
是有7个表达式组成的字符串。描述了时间表的详细信息。
格式[秒] [分] [小时] [日] [月] [周] [年]
CronTrigger表达式对应字段的意义
通配符的说明
使用CronTrigger实现每秒钟执行一次任务:
代码如下:(其中HelloJob3的这个类按照上一节的一样)
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

/**
* 使用CronTrigger 设置定时任务
*/
public class HelloScheduler04 {
public static void main(String[] args) throws Exception{
test01();
}

/**
 * 使用CronTrigger实现每秒钟触发一次
 */
public  static  void  test01()throws Exception{
    JobDetail build = JobBuilder.newJob(HelloJob3.class).withIdentity("MyJob", "group").build();
        //Cron表达式 格式[秒] [分] [小时] [日] [月] [周] [年]
        //* * 17 * * ? * 每天的17点执行
    //每天的17点到23点每隔5秒钟执行一次 0/5 * 17-23 * * ?
    CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1").
            withSchedule(CronScheduleBuilder.cronSchedule("0/5 0 17-23 * * ? *")).build();//0/5 0 17-23 * * ? *
    Scheduler scheduler = new StdSchedulerFactory().getScheduler();
    scheduler.start();
    scheduler.scheduleJob(build,cronTrigger);

}

}
常用的Cron表达式:
0 15 10 ? * * 2017 表示在2017年每天的10点15分触发一下。
0/5 * 14,18 * * ? 表示在每天的14整至14点59分59秒,以及在18点整至18点59分59秒,每五秒中触发一次。
0/5 * 17-23 * * ? 表示每天的17点整到23点59分59秒的 17 18 19 20 21 21 23 之间的时间段每隔5秒钟执行一次。
L和W可以一组合使用。
周字段英文字母不区分大小写即MON和mon相同
利用工具在先生成:http://cron.qqe2.com/ 可以在这个网站上自动生成需要的Cron表达式。

猜你喜欢

转载自blog.csdn.net/weixin_37546725/article/details/81433782