1、上述cron表达式:
*/5 * * * * * ?
*/5 * * * * ? *
- 日、月和周三者不能都为(*),必须有一个为(?),否则就无法确定到底是哪个时间点需要运行任务
- 特别注意:表达式中位数所代表的含义
2、直接在任务表中insert数据来触发是不行的,这样写入任务到数据库中,触发器就无法写入数据到如下两张表中:
qrtz_triggers:用来存储触发器的基本信息
qrtz_cron_triggers:用来存储触发器 cron 表达式和时区信息
- qrtz_triggers表和qrtz_cron_triggers表都是在创建Trigger时写入数据的
- 当创建一个Trigger时,Quartz会将Trigger的相关信息保存到qrtz_triggers表中,如:Trigger的名称、所属的Job、执行时间、Trigger状态等
- 如果创建的Trigger是CronTrigger类型,Quartz会同时将其Cron表达式保存到qrtz_cron_triggers表中,以便后续解析该Trigger的执行时间
- 需要注意的是,当修改Trigger的相关信息时,qrtz_triggers和qrtz_cron_triggers表中对应的记录也会被更新。同时,如果删除Trigger,对应的记录也会从这两个表中删除
- 在Quartz中,Trigger是用来触发Job执行的,因此Trigger的相关信息对于任务调度至关重要。通过将Trigger的相关信息保存到数据库中,可以保证Trigger的信息不会丢失,并且可以在应用程序重启后重新加载
- 如果想要测试相关触发任务,可以请求 add 添加任务接口,就会把相关任务信息和触发器信息添加到对应的数据库表中,根据指定的任务触发时间来进行触发