日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2023/12/10 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java quartz 跳过_Java Quartz计划作业-禁止同时执行作业 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我正在使用Quartz Job執(zhí)行特定任務(wù)。

我也在我的Main應(yīng)用程序類中安排它的執(zhí)行,而我試圖完成的工作是不允許同時(shí)執(zhí)行此作業(yè)的實(shí)例。

因此,調(diào)度程序僅應(yīng)在其先前實(shí)例完成后才執(zhí)行作業(yè)。

這是我的工作班級(jí):

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 .... <<<<<<<<<<<<<<<<<<<

}

}

因此,在應(yīng)用程序的主類中,我正在啟動(dòng)調(diào)度程序:

...

//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);

}

如果另一個(gè)實(shí)例仍在運(yùn)行,我想阻止調(diào)度程序啟動(dòng)第二個(gè)MainJob實(shí)例…

總結(jié)

以上是生活随笔為你收集整理的java quartz 跳过_Java Quartz计划作业-禁止同时执行作业的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。