当前位置: 萬仟网 > IT编程>数据库>MSSQL > Quartz—触发器(SimpleTrigger&&CronTrigger)

Quartz—触发器(SimpleTrigger&&CronTrigger)

2020年07月14日  | 萬仟网IT编程  | 我要评论
  1. SimpleTrigger
 SimpleTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group1")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        .withIntervalInSeconds(2) //每两秒执行一次
                        .repeatForever()) //不限执行次数
                .endAt(new GregorianCalendar(2020,7,13,9,30,30).getTime())
                .build();
 // 1. 调度器 Scheduler
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

        // 2. 触发器:描述时间规则,描述任务怎么触发
        SimpleTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group1")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        .withIntervalInSeconds(2) //每两秒执行一次
                        .repeatForever()) //不限执行次数
                .endAt(new GregorianCalendar(2020,7,13,9,30,30).getTime())
                .build();

        // 3. JobDetail 任务包装
        JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("Job1","group1").build();

        // 4. 将JobDetail和触发器增加到调度器中
        scheduler.scheduleJob(jobDetail,trigger);

        // 5. 启动,调度器开始工作
        scheduler.start();

以一定的时间间隔(单位是毫秒)执行的任务。

  • 指定起始和截止时间(时间段)
  • 指定时间间隔,执行次数
  1. CronTrigger
 // 1. 调度器 Scheduler
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

        // 2. 触发器:描述时间规则,描述任务怎么触发
        CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group1")
                .withSchedule(CronScheduleBuilder.cronSchedule("10 5 16 9 5 ?")) //秒 分 小时 日 月份 星期
                .build();

        // 3. JobDetail 任务包装
        JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("Job1","group1").build();

        // 4. 将JobDetail和触发器增加到调度器中
        scheduler.scheduleJob(jobDetail,trigger);

        // 5. 启动,调度器开始工作
        scheduler.start();

表达式组成:“秒 分 时 日 月 星期几 年”,其中年是可选的,一般不指定。

位置 时间域 允许值 特殊值
1 0-59 ,-*/
2 分钟 0-59 ,-*/
3 小时 0-23 ,-*/
4 日期 1-31 ,-*?/LM
5 月份 1-12 ,-*/
6 星期 1-7(1是星期日) ,-*?/LM
7 年份(可选) ,-*/

详细请看=> Cron表达式

本文地址:https://blog.csdn.net/qq_41047771/article/details/107310801

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
Copyright © 2017-2020  萬仟网 保留所有权利. 粤ICP备17035492号-1
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com