Quartz的CronScheduleBuilder和Cron表达式(五)下

简介: Quartz的CronScheduleBuilder和Cron表达式(五)下

二.四 快速创建Cron 表达式

二.四.一 创建方式

将中文时间上的每一个单位从大到小排列一下,依次放置到 每一个格子上即可, 要保证各个格子的单位值是合法的,


总体也是合法的。


如, 某一个作业任务是 , 每年的2月,4月的7号和8号的9点的 15分,40分,45分时触发。


先按照从大到小排列一下:


年: 每年, *,可以省略


周: 指定了天,不能指定周, 用?


月: 2月和4月,可以写成 2,4


日: 7号和8号, 可以写成7,8 或者 7-8


时: 9点, 确切时间,9


分: 15分,40分,45分, 可以写成 15,40,45


秒: 未指定,从0开始, 表示某一分钟的最开始那一秒执行。用 0 (注意, 并不是每一秒执行哈)


那么 就可以写成: 0 15,40,45 7-8 2,4 ?


二.四.二 在线 cron 表达式网址

如果不想自己动手 写cron 表达式, 可以使用在线 cron 网站进行生成。

必应搜索 ‘cron 在线’ 之类的关键词即可:

image.png


为避免广告嫌疑,老蝴蝶这儿就不指定了。


三. 分析常见的Cron 表达式


列举一些常见的表达式,来讲解一下。


(表达式参考了 黑马教程的 Quartz框架中的 Quartz 定时任务调度文档中的内容)

image.png

四. 母亲节那一天触发的小例子


世上只有一个妈妈好,珍惜吧。 读者们,别忘记这一天给妈妈打电话,发祝福。


四.一 发送祝福 任务

//母亲节快乐的 Cron
public class MyJob88 implements Job {
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
      System.out.println("妈妈,母亲节快乐,您辛苦了!!!");
    }
}


四.二 祝福调度主程序

//母亲节快乐的Cron 
public class SchedulerDemo88 {
    public static void main(String[] args) throws  Exception{
      //获取Scheduler
        Scheduler scheduler= StdSchedulerFactory.getDefaultScheduler();
        // 创建 JobDetail
        JobDetail jobDetail=JobBuilder.newJob(MyJob88.class)
                .withIdentity("job1","group1")
                .build();
        //创建 Trigger
        Trigger trigger= TriggerBuilder.newTrigger()
                .withIdentity("trigger1","group1") //设置标识
                .startNow()
                //cron 表达式为母亲节
                .withSchedule(CronScheduleBuilder.cronSchedule("0 0 8 ? 5 1#2"))
                .build();
        //关联 job和 trigger
        scheduler.scheduleJob(jobDetail,trigger);
        //启动 scheduler
        scheduler.start();
    }
}


四.三 祝福测试

2020年母亲节是5月10号, 老蝴蝶将自己本地计算机的时间改成 5月10号的7点59分。

image.png


运行程序,观看控制台的祝福:

image.png


谢谢您的观看!!!


相关文章
Quartz-CronTrigger解读
Quartz-CronTrigger解读
48 0
|
存储 调度
Quartz-SchedulerListener解读
Quartz-SchedulerListener解读
81 0
|
Java Linux API
Quartz-Trigger详解
Quartz-Trigger详解
92 0
Quartz-SimpleTrigger解读
Quartz-SimpleTrigger解读
56 0
|
Java Spring
spring定时任务cron表达式(@Scheduled)
spring定时任务cron表达式(@Scheduled)
183 0
|
Java 调度 Maven
定时任务组件Quartz
定时任务组件Quartz
定时任务组件Quartz
【Quartz】——CronTrigger 表达式的编写
【Quartz】——CronTrigger 表达式的编写
80 0
|
存储 安全 Java
Quartz 是什么?一文带你入坑
本文主要介绍 Quartz 的使用
349 0
|
Java
java 定时任务 quartz 时间表达式Cron总结
java 定时任务 quartz 时间表达式Cron总结
432 0
|
前端开发 Linux 调度
Quartz的CronScheduleBuilder和Cron表达式(五)上
Quartz的CronScheduleBuilder和Cron表达式(五)上
842 0
Quartz的CronScheduleBuilder和Cron表达式(五)上