Java 检查作业是否正在运行?

Java 检查作业是否正在运行?,java,cron,quartz-scheduler,job-scheduling,Java,Cron,Quartz Scheduler,Job Scheduling,我想检查Quartz作业是否正在运行。我发现它可以使用。但是我对此感到困惑,我应该把它放在哪里才能得到结果呢? 谢谢 您可以使用scheduler.getCurrentlyExecutingJobs()获取当前正在运行的所有作业的列表 List<JobExecutionContext> currentJobs = scheduler.getCurrentlyExecutingJobs(); for (JobExecutionContext jobCtx:

我想检查Quartz作业是否正在运行。我发现它可以使用。但是我对此感到困惑,我应该把它放在哪里才能得到结果呢? 谢谢


您可以使用scheduler.getCurrentlyExecutingJobs()获取当前正在运行的所有作业的列表

       List<JobExecutionContext> currentJobs = scheduler.getCurrentlyExecutingJobs();
       for (JobExecutionContext jobCtx: currentJobs){
           jobName = jobCtx.getJobDetail().getName();
           groupName = jobCtx.getJobDetail().getGroup();
           if (jobName.equalsIgnoreCase("job_I_am_looking_for_name") &&            groupName.equalsIgnoreCase("job_group_I_am_looking_for_name")) {
               //found it!
               logger.warn("the job is already running - do nothing");
                        return;
           }               
       }
List currentJobs=scheduler.getCurrentlyExecutingJobs();
对于(JobExecutionContext jobCtx:currentJobs){
jobName=jobCtx.getJobDetail().getName();
groupName=jobCtx.getJobDetail().getGroup();
if(jobName.equalsIgnoreCase(“job\u I\u正在寻找\u名称”)和&groupName.equalsIgnoreCase(“job\u group\u I\u正在寻找\u名称”)){
//找到了!
logger.warn(“作业已在运行-不执行任何操作”);
返回;
}               
}

getCurrentlyExecutingJobs()docs中的一条注释:“此方法不支持群集。也就是说,它只返回当前在此调度程序实例中执行的作业,而不返回整个群集。”
       List<JobExecutionContext> currentJobs = scheduler.getCurrentlyExecutingJobs();
       for (JobExecutionContext jobCtx: currentJobs){
           jobName = jobCtx.getJobDetail().getName();
           groupName = jobCtx.getJobDetail().getGroup();
           if (jobName.equalsIgnoreCase("job_I_am_looking_for_name") &&            groupName.equalsIgnoreCase("job_group_I_am_looking_for_name")) {
               //found it!
               logger.warn("the job is already running - do nothing");
                        return;
           }               
       }