org.quartz.Scheduler#getTriggersOfJob ( )源码实例Demo

下面列出了org.quartz.Scheduler#getTriggersOfJob ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: spring-cloud-shop   文件: JobTrigger.java
/**
 * 获取所有job任务
 */
public static List<JobInfo> getJobs(Scheduler scheduler) throws SchedulerException {
    GroupMatcher<JobKey> matcher = GroupMatcher.anyJobGroup();

    List<JobInfo> jobs = Lists.newArrayList();
    Set<JobKey> jobKeys = scheduler.getJobKeys(matcher);

    for (JobKey jobKey : jobKeys) {
        List<? extends Trigger> triggers = scheduler.getTriggersOfJob(jobKey);
        for (Trigger trigger : triggers) {

            JobInfo event = new JobInfo();
            event.setJobName(jobKey.getName());
            event.setJobGroup(jobKey.getGroup());
            event.setDescription(String.format("触发器 ======== %s", trigger.getKey()));
            Trigger.TriggerState state = scheduler.getTriggerState(trigger.getKey());
            event.setJobStatus(EnumUtils.getEnum(JobStatusEnums.class, state.name()).getCode());
            if (trigger instanceof CronTrigger) {
                CronTrigger cronTrigger = (CronTrigger) trigger;
                event.setCron(cronTrigger.getCronExpression());
                jobs.add(event);
            }
        }
    }
    return jobs;
}
 
源代码2 项目: Knowage-Server   文件: SchedulerServiceSupplier.java
/**
 * Gets the job schedulation list.
 * 
 * @param jobName the job name
 * @param jobGroup the job group
 * 
 * @return the job schedulation list
 */
public   String getJobSchedulationList(String jobName, String jobGroup) {
	String xml = "";
	try {
		Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); 
		if (jobName == null || jobName.trim().equals("")) {
			SpagoBITracer.critical(SpagoBIConstants.NAME_MODULE, this.getClass().getName(), "getJobDefinition", 
								  "Missing job name request parameter!");
			throw new Exception("Job name not found !");
		}
		if (jobGroup == null || jobGroup.trim().equals("")) {
			SpagoBITracer.major(SpagoBIConstants.NAME_MODULE, this.getClass().getName(), "getJobDefinition", 
								"Missing job group name! Using default group...");
			jobGroup = Scheduler.DEFAULT_GROUP;
		}
		Trigger[] triggers = scheduler.getTriggersOfJob(jobName, jobGroup);
		xml = buildTriggersListXmlString(triggers);
	} catch (Exception e) {
		SpagoBITracer.major(SpagoBIConstants.NAME_MODULE, this.getClass().getName(), "getJobDefinition", 
							"Error while recovering job schedulation list ", e);
		xml = "<ROWS></ROWS>";
	}
	return xml;
}
 
源代码3 项目: engine   文件: SiteScheduledJobsController.java
@GetMapping(URL_LIST)
@SuppressWarnings("unchecked")
public List<Map<String, String>> listScheduledJobs() throws SchedulerException {
    List<Map<String, String>> jobs = new LinkedList<>();
    SiteContext siteContext = SiteContext.getCurrent();
    Scheduler scheduler = siteContext.getScheduler();
    if(scheduler != null) {
        List<String> groups = scheduler.getJobGroupNames();
        for (String group : groups) {
            Set<JobKey> keys = scheduler.getJobKeys(GroupMatcher.jobGroupEquals(group));
            for (JobKey key : keys) {
                List<Trigger> triggers = (List<Trigger>)scheduler.getTriggersOfJob(key);
                Map<String, String> job = new HashMap<>();
                job.put("name", key.getName());
                job.put("nextFireTime", triggers.get(0).getNextFireTime().toInstant().toString());
                jobs.add(job);
            }
        }
    }
    return jobs;
}
 
源代码4 项目: griffin   文件: JobServiceImpl.java
List<? extends Trigger> getTriggers(String name, String group) throws
    SchedulerException {
    if (name == null || group == null) {
        return null;
    }
    JobKey jobKey = new JobKey(name, group);
    Scheduler scheduler = factory.getScheduler();
    return scheduler.getTriggersOfJob(jobKey);
}
 
源代码5 项目: griffin   文件: JobInstance.java
@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();
}
 
源代码6 项目: spring-boot-quartz-demo   文件: JobServiceImpl.java
/**
 * Get the current state of job
 */
public String getJobState(String jobName) {
	System.out.println("JobServiceImpl.getJobState()");

	try {
		String groupKey = "SampleGroup";
		JobKey jobKey = new JobKey(jobName, groupKey);

		Scheduler scheduler = schedulerFactoryBean.getScheduler();
		JobDetail jobDetail = scheduler.getJobDetail(jobKey);

		List<? extends Trigger> triggers = scheduler.getTriggersOfJob(jobDetail.getKey());
		if(triggers != null && triggers.size() > 0){
			for (Trigger trigger : triggers) {
				TriggerState triggerState = scheduler.getTriggerState(trigger.getKey());

				if (TriggerState.PAUSED.equals(triggerState)) {
					return "PAUSED";
				}else if (TriggerState.BLOCKED.equals(triggerState)) {
					return "BLOCKED";
				}else if (TriggerState.COMPLETE.equals(triggerState)) {
					return "COMPLETE";
				}else if (TriggerState.ERROR.equals(triggerState)) {
					return "ERROR";
				}else if (TriggerState.NONE.equals(triggerState)) {
					return "NONE";
				}else if (TriggerState.NORMAL.equals(triggerState)) {
					return "SCHEDULED";
				}
			}
		}
	} catch (SchedulerException e) {
		System.out.println("SchedulerException while checking job with name and group exist:"+e.getMessage());
		e.printStackTrace();
	}
	return null;
}
 
源代码7 项目: nexus-public   文件: SchedulerTest.java
@Test
public void testScheduleMultipleTriggersForAJob() throws SchedulerException {
  JobDetail job = newJob(TestJob.class).withIdentity("job1", "group1").build();
  Trigger trigger1 = newTrigger()
      .withIdentity("trigger1", "group1")
      .startNow()
      .withSchedule(
          SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1)
              .repeatForever())
      .build();
  Trigger trigger2 = newTrigger()
      .withIdentity("trigger2", "group1")
      .startNow()
      .withSchedule(
          SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1)
              .repeatForever())
      .build();
  Set<Trigger> triggersForJob = new HashSet<Trigger>();
  triggersForJob.add(trigger1);
  triggersForJob.add(trigger2);

  Scheduler sched = createScheduler("testScheduleMultipleTriggersForAJob", 5);
  sched.scheduleJob(job, triggersForJob, true);

  List<? extends Trigger> triggersOfJob = sched.getTriggersOfJob(job.getKey());
  assertEquals(2, triggersOfJob.size());
  assertTrue(triggersOfJob.contains(trigger1));
  assertTrue(triggersOfJob.contains(trigger2));

  sched.shutdown(true);
}
 
源代码8 项目: fixflow   文件: ScheduleServiceImpl.java
public List<Trigger> getTriggerList(String jobName, String jobGroup) {
	if(!getIsEnabled()){
		throw new FixFlowScheduleException(ExceptionCode.QUARZTEXCEPTION_ISENABLE);
	}
	Scheduler scheduler = getScheduler();
	try{
		@SuppressWarnings("unchecked")
		List<Trigger> triggers = (List<Trigger>) scheduler.getTriggersOfJob(new JobKey(jobName,jobGroup));
		return triggers;
	}catch(Exception e){
		throw new FixFlowException(e.getMessage(),e);
	}
}
 
源代码9 项目: quartz-web   文件: QuartzUtils.java
public static List<? extends Trigger> getTriggersOfJob(String jobName,String jobGroup, Scheduler scheduler) throws SchedulerException {
    JobKey jobKey = getJobKey(jobName, jobGroup);
    return scheduler.getTriggersOfJob(jobKey);
}
 
源代码10 项目: spring-boot-quartz-demo   文件: JobServiceImpl.java
/**
 * Get all jobs
 */
@Override
public List<Map<String, Object>> getAllJobs() {
	List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
	try {
		Scheduler scheduler = schedulerFactoryBean.getScheduler();

		for (String groupName : scheduler.getJobGroupNames()) {
			for (JobKey jobKey : scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName))) {

				String jobName = jobKey.getName();
				String jobGroup = jobKey.getGroup();

				//get job's trigger
				List<Trigger> triggers = (List<Trigger>) scheduler.getTriggersOfJob(jobKey);
				Date scheduleTime = triggers.get(0).getStartTime();
				Date nextFireTime = triggers.get(0).getNextFireTime();
				Date lastFiredTime = triggers.get(0).getPreviousFireTime();
				
				Map<String, Object> map = new HashMap<String, Object>();
				map.put("jobName", jobName);
				map.put("groupName", jobGroup);
				map.put("scheduleTime", scheduleTime);
				map.put("lastFiredTime", lastFiredTime);
				map.put("nextFireTime", nextFireTime);
				
				if(isJobRunning(jobName)){
					map.put("jobStatus", "RUNNING");
				}else{
					String jobState = getJobState(jobName);
					map.put("jobStatus", jobState);
				}

				/*					Date currentDate = new Date();
				if (scheduleTime.compareTo(currentDate) > 0) {
					map.put("jobStatus", "scheduled");

				} else if (scheduleTime.compareTo(currentDate) < 0) {
					map.put("jobStatus", "Running");

				} else if (scheduleTime.compareTo(currentDate) == 0) {
					map.put("jobStatus", "Running");
				}*/

				list.add(map);
				System.out.println("Job details:");
				System.out.println("Job Name:"+jobName + ", Group Name:"+ groupName + ", Schedule Time:"+scheduleTime);
			}

		}
	} catch (SchedulerException e) {
		System.out.println("SchedulerException while fetching all jobs. error message :"+e.getMessage());
		e.printStackTrace();
	}
	return list;
}
 
源代码11 项目: javamelody   文件: Quartz2Adapter.java
@Override
@SuppressWarnings("unchecked")
List<Trigger> getTriggersOfJob(JobDetail jobDetail, Scheduler scheduler)
		throws SchedulerException {
	return (List<Trigger>) scheduler.getTriggersOfJob(jobDetail.getKey());
}
 
源代码12 项目: sakai   文件: SchedulerTool.java
public String processRefreshJobs()
{
  try
  {
    Scheduler scheduler = schedulerManager.getScheduler();
    Set<JobKey> jobs = scheduler.getJobKeys(GroupMatcher.groupEquals(Scheduler.DEFAULT_GROUP));
    jobDetailWrapperList = new ArrayList<JobDetailWrapper>();
    for (JobKey key : jobs) {
      JobDetailWrapper jobDetailWrapper = new JobDetailWrapperImpl();
      jobDetailWrapper.setJobDetail(scheduler.getJobDetail(key));
      List<? extends Trigger> triggers = scheduler.getTriggersOfJob(key);
      
      List<TriggerWrapper> triggerWrapperList = new ArrayList<TriggerWrapper>();
      for (Trigger trigger : triggers) {
        TriggerWrapper tw = new TriggerWrapperImpl();
        tw.setTrigger(trigger);
        triggerWrapperList.add(tw);
      }

      jobDetailWrapper.setTriggerWrapperList(triggerWrapperList);
      jobDetailWrapperList.add(jobDetailWrapper);
    }
  }
  catch (SchedulerException e)
  {
    log.error("Failed to get job details.", e);
  }

  // test for select all
  if (isSelectAllJobsSelected)
  {
    for (Iterator<JobDetailWrapper> i = jobDetailWrapperList.iterator(); i.hasNext();)
    {
      if (isSelectAllJobsSelected)
      {
        ((JobDetailWrapper) i.next()).setIsSelected(true);
      }
      else
      {
        ((JobDetailWrapper) i.next()).setIsSelected(false);
      }
    }
  }
  return "jobs";
}
 
源代码13 项目: sakai   文件: SchedulerTool.java
public String processRefreshJobs()
{
  try
  {
    Scheduler scheduler = schedulerManager.getScheduler();
    Set<JobKey> jobs = scheduler.getJobKeys(GroupMatcher.groupEquals(Scheduler.DEFAULT_GROUP));
    jobDetailWrapperList = new ArrayList<JobDetailWrapper>();
    for (JobKey key : jobs) {
      JobDetailWrapper jobDetailWrapper = new JobDetailWrapperImpl();
      jobDetailWrapper.setJobDetail(scheduler.getJobDetail(key));
      List<? extends Trigger> triggers = scheduler.getTriggersOfJob(key);
      
      List<TriggerWrapper> triggerWrapperList = new ArrayList<TriggerWrapper>();
      for (Trigger trigger : triggers) {
        TriggerWrapper tw = new TriggerWrapperImpl();
        tw.setTrigger(trigger);
        triggerWrapperList.add(tw);
      }

      jobDetailWrapper.setTriggerWrapperList(triggerWrapperList);
      jobDetailWrapperList.add(jobDetailWrapper);
    }
  }
  catch (SchedulerException e)
  {
    log.error("Failed to get job details.", e);
  }

  // test for select all
  if (isSelectAllJobsSelected)
  {
    for (Iterator<JobDetailWrapper> i = jobDetailWrapperList.iterator(); i.hasNext();)
    {
      if (isSelectAllJobsSelected)
      {
        ((JobDetailWrapper) i.next()).setIsSelected(true);
      }
      else
      {
        ((JobDetailWrapper) i.next()).setIsSelected(false);
      }
    }
  }
  return "jobs";
}
 
源代码14 项目: iaf   文件: SchedulerAdapter.java
/**
 * Get all jobgroups, jobs within this group, the jobdetail and the
 * associated triggers in XML format.
 */
public XmlBuilder getJobGroupNamesWithJobsToXml(Scheduler theScheduler, IbisManager ibisManager) {
	XmlBuilder xbRoot = new XmlBuilder("jobGroups");

	try {
		// process groups
		List<String> jgnames = theScheduler.getJobGroupNames();

		for (int i = 0; i < jgnames.size(); i++) {
			XmlBuilder el = new XmlBuilder("jobGroup");
			String jobGroupName = jgnames.get(i);
			el.addAttribute("name", jobGroupName);

			// process jobs within group
			XmlBuilder jb = new XmlBuilder("jobs");
			Set<JobKey> jobKeys = theScheduler.getJobKeys(GroupMatcher.jobGroupEquals(jobGroupName));

			for (JobKey jobKey : jobKeys) {
				XmlBuilder jn = new XmlBuilder("job");
				String jobName = jobKey.getName();
				jn.addAttribute("name", jobName);

				// details for job
				JobDetail jobDetail = theScheduler.getJobDetail(jobKey);
				XmlBuilder jd = jobDetailToXmlBuilder(jobDetail);
				jn.addSubElement(jd);

				// get the triggers for this job
				List<? extends Trigger> triggers = theScheduler.getTriggersOfJob(jobKey);
				XmlBuilder tr = getJobTriggers(triggers);
				jn.addSubElement(tr);


				JobDataMap jobDataMap = jobDetail.getJobDataMap();
				XmlBuilder datamap = jobDataMapToXmlBuilder(jobDataMap);
				jn.addSubElement(datamap);
				jb.addSubElement(jn);

				JobDef jobDef = null;
				if(ibisManager != null) {
					for (Configuration configuration : ibisManager.getConfigurations()) {
						jobDef = configuration.getScheduledJob(jobName);
						if (jobDef != null) {
							break;
						}
					}
				}
				XmlBuilder ms = getJobMessages(jobDef);
				jn.addSubElement(ms);
				XmlBuilder jrs= getJobRunStatistics(jobDef);
				jn.addSubElement(jrs);
			}
			el.addSubElement(jb);
			xbRoot.addSubElement(el);
		}
	} catch (SchedulerException se) {
		log.error(se);
	}

	return xbRoot;
}
 
源代码15 项目: fixflow   文件: JobServiceImpl.java
public Map<String, Object> getJobList(Map<String, Object> params) throws SchedulerException, SQLException {
	Map<String,Object> resultMap = new HashMap<String,Object>();
	String userId = StringUtil.getString(params.get("userId"));
	String queryId = StringUtil.getString(params.get("queryId"));
	ProcessEngine processEngine = getProcessEngine(userId);
	ScheduleService scheduleService = processEngine.getScheduleService();
	Scheduler scheduler = scheduleService.getScheduler();
	try{
		List<Map<String,Object>> jobList = new ArrayList<Map<String,Object>>();
		List<JobDetail> list = scheduleService.getJobList(queryId);
		for(JobDetail job :list){
			Map<String,Object> jobMap = new HashMap<String,Object>();
			jobMap.put("jobName", job.getKey().getName());
			jobMap.put("groupName", job.getKey().getGroup());
			jobMap.put("processName", job.getJobDataMap().get("processName"));
			jobMap.put("processId", job.getJobDataMap().get("processId"));
			jobMap.put("processKey", job.getJobDataMap().get("processKey"));
			jobMap.put("processInstanceId", job.getJobDataMap().get("processInstanceId"));
			jobMap.put("nodeId", job.getJobDataMap().get("nodeId"));
			jobMap.put("bizKey", job.getJobDataMap().get("bizKey"));
			jobMap.put("jobType", job.getJobDataMap().get("jobType"));
			jobMap.put("processId", job.getJobDataMap().get("processId"));
			jobMap.put("nodeName", job.getJobDataMap().get("nodeName"));
			jobMap.put("jobKeyGroup", job.getKey().getGroup());
			jobMap.put("jobKeyName", job.getKey().getName());
			//判断job下的trigger是否全为暂停状态
			List<Trigger> triggerList = (List<Trigger>) scheduler.getTriggersOfJob(job.getKey());
			boolean isPaused = false;
			for(Trigger t:triggerList){
				TriggerState ts = scheduler.getTriggerState(t.getKey());
				if(ts.equals(TriggerState.PAUSED)){
					isPaused = true;
					break;
				}
			}
			jobMap.put("isPaused", isPaused);
			jobList.add(jobMap);
		}
		resultMap.put("dataList", jobList);
	}finally{
		closeProcessEngine();
	}
	return resultMap;
}
 
源代码16 项目: quartz-web   文件: QuartzUtils.java
/**
 * 获取Job中所有的Trigger
 * @param jobDetail
 * @param scheduler
 * @return
 * @throws SchedulerException
 */
public static List<? extends Trigger> getTriggersOfJob(JobDetail jobDetail, Scheduler scheduler) throws SchedulerException {
    return scheduler.getTriggersOfJob(jobDetail.getKey());
}