org.quartz.Trigger类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.2k)|赞(0)|评价(0)|浏览(160)

本文整理了Java中org.quartz.Trigger类的一些代码示例,展示了Trigger类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Trigger类的具体详情如下:
包路径:org.quartz.Trigger
类名称:Trigger

Trigger介绍

[英]The base interface with properties common to all Triggers - use TriggerBuilder to instantiate an actual Trigger.

Triggerss have a TriggerKey associated with them, which should uniquely identify them within a single Scheduler.

Triggers are the 'mechanism' by which Jobs are scheduled. Many Triggers can point to the same Job, but a single Trigger can only point to one Job.

Triggers can 'send' parameters/data to Jobs by placing contents into the JobDataMap on the Trigger.
[中]具有所有Trigger通用属性的基本接口-使用TriggerBuilder实例化实际触发器。
Triggerss有一个与之关联的TriggerKey,它应该在单个Scheduler中唯一地标识它们。
Triggers是调度Jobs的“机制”。许多Trigger可以指向相同的Job,但单个Trigger只能指向一个Job
触发器可以通过将内容放入Trigger上的JobDataMap中,将参数/数据“发送”到Jobs。

代码示例

代码示例来源: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());
}

相关文章

微信公众号

最新文章

更多