本文整理了Java中org.quartz.Trigger
类的一些代码示例,展示了Trigger
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Trigger
类的具体详情如下:
包路径:org.quartz.Trigger
类名称:Trigger
[英]The base interface with properties common to all Trigger
s - use TriggerBuilder to instantiate an actual Trigger.
Triggers
s have a TriggerKey associated with them, which should uniquely identify them within a single Scheduler
.
Trigger
s are the 'mechanism' by which Job
s are scheduled. Many Trigger
s can point to the same Job
, but a single Trigger
can only point to one Job
.
Triggers can 'send' parameters/data to Job
s by placing contents into the JobDataMap
on the Trigger
.
[中]具有所有Trigger
通用属性的基本接口-使用TriggerBuilder实例化实际触发器。Triggers
s有一个与之关联的TriggerKey,它应该在单个Scheduler
中唯一地标识它们。Trigger
s是调度Job
s的“机制”。许多Trigger
可以指向相同的Job
,但单个Trigger
只能指向一个Job
。
触发器可以通过将内容放入Trigger
上的JobDataMap
中,将参数/数据“发送”到Job
s。
代码示例来源:origin: quartz-scheduler/quartz
public void triggerFired(Trigger trigger, JobExecutionContext context) {
if (!getLog().isInfoEnabled()) {
return;
}
Object[] args = {
trigger.getKey().getName(), trigger.getKey().getGroup(),
trigger.getPreviousFireTime(), trigger.getNextFireTime(),
new java.util.Date(), context.getJobDetail().getKey().getName(),
context.getJobDetail().getKey().getGroup(),
Integer.valueOf(context.getRefireCount())
};
getLog().info(MessageFormat.format(getTriggerFiredMessage(), args));
}
代码示例来源:origin: spring-projects/spring-framework
boolean triggerExists = (getScheduler().getTrigger(trigger.getKey()) != null);
if (triggerExists && !this.overwriteExistingJobs) {
return false;
JobDetail jobDetail = (JobDetail) trigger.getJobDataMap().remove("jobDetail");
if (triggerExists) {
if (jobDetail != null && this.jobDetails != null &&
getScheduler().rescheduleJob(trigger.getKey(), trigger);
try {
if (jobDetail != null && this.jobDetails != null && !this.jobDetails.contains(jobDetail) &&
(this.overwriteExistingJobs || getScheduler().getJobDetail(jobDetail.getKey()) == null)) {
getScheduler().scheduleJob(jobDetail, trigger);
this.jobDetails.add(jobDetail);
getScheduler().rescheduleJob(trigger.getKey(), trigger);
代码示例来源:origin: quartz-scheduler/quartz
public void triggerMisfired(Trigger trigger) {
if (!getLog().isInfoEnabled()) {
return;
}
Object[] args = {
trigger.getKey().getName(), trigger.getKey().getGroup(),
trigger.getPreviousFireTime(), trigger.getNextFireTime(),
new java.util.Date(), trigger.getJobKey().getName(),
trigger.getJobKey().getGroup()
};
getLog().info(MessageFormat.format(getTriggerMisfiredMessage(), args));
}
代码示例来源:origin: quartz-scheduler/quartz
public int compare(Trigger t1, Trigger t2) {
return compare(t1.getNextFireTime(), t1.getPriority(), t1.getKey(), t2.getNextFireTime(), t2.getPriority(), t2.getKey());
}
}
代码示例来源:origin: javamelody/javamelody
boolean isTriggerPaused(Trigger trigger, Scheduler scheduler) throws SchedulerException {
return scheduler.getTriggerState(trigger.getName(),
trigger.getGroup()) == Trigger.STATE_PAUSED;
}
代码示例来源:origin: quartz-scheduler/quartz
public static CompositeData toCompositeData(Trigger trigger) {
try {
return new CompositeDataSupport(COMPOSITE_TYPE, ITEM_NAMES,
new Object[] {
trigger.getKey().getName(),
trigger.getKey().getGroup(),
trigger.getJobKey().getName(),
trigger.getJobKey().getGroup(),
trigger.getDescription(),
JobDataMapSupport.toTabularData(trigger
.getJobDataMap()),
trigger.getCalendarName(),
((OperableTrigger)trigger).getFireInstanceId(),
trigger.getMisfireInstruction(),
trigger.getPriority(), trigger.getStartTime(),
trigger.getEndTime(), trigger.getNextFireTime(),
trigger.getPreviousFireTime(),
trigger.getFinalFireTime() });
} catch (OpenDataException e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: quartz-scheduler/quartz
dupeJ = sched.getJobDetail(detail.getKey());
} catch (JobPersistenceException e) {
if (e.getCause() instanceof ClassNotFoundException && isOverWriteExistingData()) {
log.info("Removing job: " + detail.getKey());
sched.deleteJob(detail.getKey());
} else {
throw e;
trigger.setStartTime(new Date());
log.info("Not overwriting existing trigger: " + dupeT.getKey());
continue; // just ignore the trigger (and possibly job)
} else {
if (!dupeT.getJobKey().equals(trigger.getJobKey())) {
log.warn("Possibly duplicately named ({}) triggers in jobs xml file! ", trigger.getKey());
trigger.setStartTime(new Date());
log.info("Not overwriting existing trigger: " + dupeT.getKey());
continue; // just ignore the trigger
if(!dupeT.getJobKey().equals(trigger.getJobKey())) {
log.warn("Possibly duplicately named ({}) triggers in jobs xml file! ", trigger.getKey());
代码示例来源:origin: com.opensymphony.quartz/com.springsource.org.quartz
public void triggerFired(Trigger trigger, JobExecutionContext context) {
if (!getLog().isInfoEnabled()) {
return;
}
Object[] args = {
trigger.getName(), trigger.getGroup(),
trigger.getPreviousFireTime(), trigger.getNextFireTime(),
new java.util.Date(), context.getJobDetail().getName(),
context.getJobDetail().getGroup(),
new Integer(context.getRefireCount())
};
getLog().info(MessageFormat.format(getTriggerFiredMessage(), args));
}
代码示例来源:origin: quartz/quartz-all
public void triggerMisfired(Trigger trigger) {
if (!getLog().isInfoEnabled()) {
return;
}
Object[] args = {
trigger.getName(), trigger.getGroup(),
trigger.getPreviousFireTime(), trigger.getNextFireTime(),
new java.util.Date(), trigger.getJobName(),
trigger.getJobGroup()
};
getLog().info(MessageFormat.format(getTriggerMisfiredMessage(), args));
}
代码示例来源:origin: com.opensymphony.quartz/com.springsource.org.quartz
public void addTrigger(Trigger trigger) {
if (trigger.getStartTime() == null) {
trigger.setStartTime(new Date());
}
triggers.add(trigger);
}
代码示例来源:origin: kiegroup/jbpm
.withIdentity(quartzJobHandle.getJobName(), quartzJobHandle.getJobGroup())
.requestRecovery()
.usingJobData(new JobDataMap(dataMap))
.build();
Date threshold = new Date(System.currentTimeMillis() + RESCHEDULE_DELAY);
if (nextFireTime.before(threshold)) {
logger.debug("nextFireTime [" + nextFireTime + "] is older than (now + RESCHEDULE_DELAY). Amending it to [" + threshold + "]");
nextFireTime = threshold;
.build();
logger.debug("triggerq.name = {}, triggerq.startTime = {}", triggerq.getKey().getName(), triggerq.getStartTime()); // nextFireTime is mapped to startTime
if (scheduler.isShutdown()) {
return;
JobDetail jobDetail = scheduler.getJobDetail(jobKey(quartzJobHandle.getJobName(), quartzJobHandle.getJobGroup()));
if (jobDetail == null) {
scheduler.scheduleJob(jobq, triggerq);
} else {
scheduler.addJob(jobq, true, true);
scheduler.rescheduleJob(triggerq.getKey(), triggerq);
代码示例来源:origin: quartz-scheduler/quartz
if (jobDetail.getKey() == null) {
throw new SchedulerException("Job's key cannot be null");
if (jobDetail.getJobClass() == null) {
throw new SchedulerException("Job's class cannot be null");
if (trigger.getJobKey() == null) {
trig.setJobKey(jobDetail.getKey());
} else if (!trigger.getJobKey().equals(jobDetail.getKey())) {
throw new SchedulerException(
"Trigger does not reference given job!");
if (trigger.getCalendarName() != null) {
cal = resources.getJobStore().retrieveCalendar(trigger.getCalendarName());
"Based on configured schedule, the given trigger '" + trigger.getKey() + "' will never fire.");
notifySchedulerThread(trigger.getNextFireTime().getTime());
notifySchedulerListenersSchduled(trigger);
代码示例来源:origin: quartz-scheduler/quartz
if (trigger.getCalendarName() != null) {
cal = resources.getJobStore().retrieveCalendar(trigger.getCalendarName());
if(cal == null) {
throw new SchedulerException(
"Calendar not found: " + trigger.getCalendarName());
"Based on configured schedule, the given trigger '" + trigger.getKey() + "' will never fire.");
notifySchedulerThread(trigger.getNextFireTime().getTime());
notifySchedulerListenersSchduled(trigger);
代码示例来源:origin: quartz-scheduler/quartz
return null;
} else {
trig.setJobKey(oldTrigger.getJobKey());
if (newTrigger.getCalendarName() != null) {
cal = resources.getJobStore().retrieveCalendar(
newTrigger.getCalendarName());
notifySchedulerThread(newTrigger.getNextFireTime().getTime());
notifySchedulerListenersUnscheduled(triggerKey);
notifySchedulerListenersSchduled(newTrigger);
代码示例来源:origin: apache/incubator-gobblin
@Override
public Optional<Long> getNextRunTimeMillis() {
Date nextRuntime = this.quartzTrigger.getNextFireTime();
return null != nextRuntime ? Optional.<Long>of(nextRuntime.getTime()) : Optional.<Long>absent();
}
代码示例来源:origin: azkaban/azkaban
private void ajaxFetchTrigger(final int projectId, final String flowId, final Session session,
final HashMap<String,
Object> ret) {
final ScheduledFlowTrigger res = this.scheduler
.getScheduledFlowTriggerJobs().stream().filter(
scheduledFlowTrigger -> scheduledFlowTrigger.getFlowId().equals(flowId)
&& scheduledFlowTrigger.getProjectId
() == projectId).findFirst().orElse(null);
if (res != null) {
final Map<String, Object> jsonObj = new HashMap<>();
jsonObj.put("cronExpression", res.getFlowTrigger().getSchedule().getCronExpression());
jsonObj.put("submitUser", res.getSubmitUser());
jsonObj.put("firstSchedTime",
utils.formatDateTime(res.getQuartzTrigger().getStartTime().getTime()));
jsonObj.put("nextExecTime",
utils.formatDateTime(res.getQuartzTrigger().getNextFireTime().getTime()));
Long maxWaitMin = null;
if (res.getFlowTrigger().getMaxWaitDuration().isPresent()) {
maxWaitMin = res.getFlowTrigger().getMaxWaitDuration().get().toMinutes();
}
jsonObj.put("maxWaitMin", maxWaitMin);
if (!res.getFlowTrigger().getDependencies().isEmpty()) {
jsonObj.put("dependencies", res.getDependencyListJson());
}
ret.put("flowTrigger", jsonObj);
}
}
代码示例来源:origin: apache/incubator-griffin
@SuppressWarnings("unchecked")
private void setJobStartTime(JobDetail jobDetail)
throws SchedulerException {
Scheduler scheduler = factory.getScheduler();
JobKey jobKey = jobDetail.getKey();
List<Trigger> triggers =
(List<Trigger>) scheduler.getTriggersOfJob(jobKey);
Date triggerTime = triggers.get(0).getPreviousFireTime();
jobStartTime = triggerTime.getTime();
}
代码示例来源:origin: org.motechproject/motech-scheduler
private String getStartDate(JobKey jobKey) throws SchedulerException {
Trigger trigger = scheduler.getTriggersOfJob(jobKey).get(0);
return DateTimeFormat.forPattern("Y-MM-dd HH:mm:ss").print(trigger.getStartTime().getTime());
}
代码示例来源:origin: net.sf.ehcache/ehcache
private void process(JobExecutionContext context, Ehcache underlyingCache, ScheduledRefreshConfiguration config,
List<Serializable> batch) throws SchedulerException {
JobDataMap map = new JobDataMap(context.getJobDetail().getJobDataMap());
map.put(ScheduledRefreshCacheExtension.PROP_KEYS_TO_PROCESS, batch);
Scheduler scheduler = context.getScheduler();
JobDetail job = JobBuilder
.newJob(RefreshBatchJob.class)
.withIdentity("RefreshBatch-" + INSTANCE_ID_GENERATOR.incrementAndGet(),
context.getTrigger().getJobKey().getGroup()).usingJobData(map).build();
try {
waitForOutstandingJobCount(context, config, scheduler, config.getParallelJobCount());
if (!scheduler.isShutdown()) {
Trigger trigger = TriggerBuilder.newTrigger().startNow().forJob(job).build();
scheduler.scheduleJob(job, trigger);
}
} catch (SchedulerException e) {
if (!scheduler.isShutdown()) {
throw e;
}
}
}
代码示例来源:origin: sakaiproject/sakai
@Override
public void triggerComplete(Trigger trigger, JobExecutionContext context, CompletedExecutionInstruction triggerInstructionCode) {
Date complete = Date.from(context.getFireTime().toInstant().plusMillis(context.getJobRunTime()));
eventManager.createTriggerEvent (TriggerEvent.TRIGGER_EVENT_TYPE.COMPLETE, context.getJobDetail().getKey(), trigger.getKey(), complete, "Trigger complete", getServerId());
}
内容来源于网络,如有侵权,请联系作者删除!