java quartz 跳过_Java Quartz计划作业-禁止同时执行作业

我正在使用Quartz Job执行特定任务。

我也在我的Main应用程序类中安排它的执行,而我试图完成的工作是不允许同时执行此作业的实例。

因此,调度程序仅应在其先前实例完成后才执行作业。

这是我的工作班级:

public class MainJob implements Job {

static Logger log = Logger.getLogger(MainJob.class.getName());

@Override

public void execute(JobExecutionContext arg0) throws JobExecutionException {

GlobalConfig cfg = new GlobalConfig();

ProcessDicomFiles processDicomFiles = new ProcessDicomFiles();

ProcessPdfReportFiles processPdf = new ProcessPdfReportFiles();

try {

log.info("1. ---- SCHEDULED JOB -- setStudiesReadyToProcess");

processDicomFiles.setStudiesReadyToProcess();

log.info("2. ---- SCHEDULED JOB --- distributeToStudies");

processDicomFiles.distributeToStudies(cfg.getAssocDir());

...

//process any incoming PDF file

log.info("11. ---- SCHEDULED JOB --- processPdfFolder");

processPdf.processPdfFolder();

} catch (Exception ex) {

Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.ERROR, null, ex);

}

log.info(">>>>>>>>>>> Scheduled Job has ended .... <<<<<<<<<<<<<<<<<<<

}

}

因此,在应用程序的主类中,我正在启动调度程序:

...

//start Scheduler

try {

startScheduler();

} catch (SchedulerException ex) {

log.log(Level.INFO, null, ex);

}

...

public void startScheduler () throws SchedulerException {

//Creating scheduler factory and scheduler

factory = new StdSchedulerFactory();

scheduler = factory.getScheduler();

schedulerTimeWindow = config.getSchedulerTimeWindow();

JobDetailImpl jobDetail = new JobDetailImpl();

jobDetail.setName("First Job");

jobDetail.setJobClass(MainJob.class);

SimpleTriggerImpl simpleTrigger = new SimpleTriggerImpl();

simpleTrigger.setStartTime(new Date(System.currentTimeMillis() + 1000));

simpleTrigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);

simpleTrigger.setRepeatInterval(schedulerTimeWindow);

simpleTrigger.setName("FirstTrigger");

//Start scheduler

scheduler.start();

scheduler.scheduleJob(jobDetail,simpleTrigger);

}

如果另一个实例仍在运行,我想阻止调度程序启动第二个MainJob实例…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值