From 2e148893c2363d7c2001d1241c36a0bcba4b8f90 Mon Sep 17 00:00:00 2001 From: wangkang Date: Mon, 28 Aug 2017 19:44:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4RmsJobDisallowConcurrent?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../udf/scheduler/job/AbstractBaseRmsJob.java | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/udf-starter-scheduler/src/main/java/org/itkk/udf/scheduler/job/AbstractBaseRmsJob.java b/udf-starter-scheduler/src/main/java/org/itkk/udf/scheduler/job/AbstractBaseRmsJob.java index 30348b2..5f41850 100644 --- a/udf-starter-scheduler/src/main/java/org/itkk/udf/scheduler/job/AbstractBaseRmsJob.java +++ b/udf-starter-scheduler/src/main/java/org/itkk/udf/scheduler/job/AbstractBaseRmsJob.java @@ -69,7 +69,7 @@ public abstract class AbstractBaseRmsJob extends AbstractBaseJob { } /** - * 锁定执行 + * 禁止并发执行 * * @param rmsJobParam rmsJobParam * @throws JobExecutionException JobExecutionException @@ -133,12 +133,8 @@ public abstract class AbstractBaseRmsJob extends AbstractBaseJob { * @return 是否正在运行 */ private boolean hasRunning(RmsJobParam rmsJobParam) { - String[] beanNames = this.getApplicationContext().getBeanNamesForType(IRmsJobLog.class); - if (ArrayUtils.isNotEmpty(beanNames)) { - IRmsJobLog rmsJobLog = this.getApplicationContext().getBean(IRmsJobLog.class); - return rmsJobLog.hasRunning(rmsJobParam); - } - return false; + IRmsJobLog rmsJobLog = this.getRmsJobLog(); + return rmsJobLog != null && rmsJobLog.hasRunning(rmsJobParam); } /** @@ -148,11 +144,23 @@ public abstract class AbstractBaseRmsJob extends AbstractBaseJob { * @param result result */ private void saveRmsJobLog(RmsJobParam param, RmsJobResult result) { - String[] beanNames = this.getApplicationContext().getBeanNamesForType(IRmsJobLog.class); - if (ArrayUtils.isNotEmpty(beanNames)) { - IRmsJobLog rmsJobLog = this.getApplicationContext().getBean(IRmsJobLog.class); + IRmsJobLog rmsJobLog = this.getRmsJobLog(); + if (rmsJobLog != null) { rmsJobLog.save(param, result); } } + /** + * 获得RmsJobLog + * + * @return IRmsJobLog + */ + private IRmsJobLog getRmsJobLog() { + String[] beanNames = this.getApplicationContext().getBeanNamesForType(IRmsJobLog.class); + if (ArrayUtils.isNotEmpty(beanNames)) { + return this.getApplicationContext().getBean(IRmsJobLog.class); + } + return null; + } + }