1. Trigger
trigger
通过TriggerBuilder
实现。(注意Builder
的链式)
Trigger对象用来告诉调度程序作业什么时候触发。
即触发执行job。
Trigger触发器:执行任务的规则;比如每天,每小时等。
一般情况使用SimpleTrigger
,和CronTrigger
,这个触发器实现了Trigger
接口。
1.对于复杂的时间表达式来说,比如每个月15日上午几点几分,使用CronTrigger
2.对于简单的时间来说,比如每天执行几次,使用SimpleTrigger
/ 1 / 触发器通用属性
1.JobKey
2.StartTime
3.EndTime
- JobKey 触发器触发时,该指定的Job实例运行
- StartTime 触发器首次首发时间(
java.util.Date
) - EndTime 不再被触发的时间(
java.util.Date
)
/*
Scheduler
3s开始执行,6s结束。每隔2s执行一次
相当于3s,5s在执行
*/
//2.定义Trigger实例,定义该job立即执行,并且每隔两秒重复执行一次,直到永远
Date d = new Date();
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("mytrigger","group1")
.usingJobData("message","hello mytrigger1")
.usingJobData("DoubleTriggerValue",5.21D)
.startAt(new Date(d.getTime()+3000))
.endAt(new Date(d.getTime()+6000))
.withSchedule(
SimpleScheduleBuilder
.simpleSchedule()
.withIntervalInSeconds(2)
.repeatForever())
.build();
/*
job
*/
//jobKey(name和group)
Trigger t = context.getTrigger();
System.out.println("trigger jonKey"+t.getJobKey().getName());