From 6f39c8ffeddb9e1571289fed6d0e91dd0975fdf2 Mon Sep 17 00:00:00 2001 From: Adam Saghy Date: Sun, 7 Aug 2022 19:23:01 +0200 Subject: [PATCH] FINERACT-1682: Fix job key refresh logic for inactive schedulers --- .../jobs/service/JobRegisterServiceImpl.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java index 3bd5b2fc2..fb9e1d8a1 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java @@ -230,17 +230,18 @@ public class JobRegisterServiceImpl implements JobRegisterService, ApplicationLi @Override public void scheduleJob(final ScheduledJobDetail scheduledJobDetails) { - if (!scheduledJobDetails.isActiveSchedular()) { - scheduledJobDetails.updateNextRunTime(null); - scheduledJobDetails.updateCurrentlyRunningStatus(false); - return; - } try { final JobDetail jobDetail = createJobDetail(scheduledJobDetails); + scheduledJobDetails.updateJobKey(getJobKeyAsString(jobDetail.getKey())); + if (!scheduledJobDetails.isActiveSchedular()) { + scheduledJobDetails.updateNextRunTime(null); + scheduledJobDetails.updateCurrentlyRunningStatus(false); + return; + } + final Trigger trigger = createTrigger(scheduledJobDetails, jobDetail); final Scheduler scheduler = getScheduler(scheduledJobDetails); scheduler.scheduleJob(jobDetail, trigger); - scheduledJobDetails.updateJobKey(getJobKeyAsString(jobDetail.getKey())); scheduledJobDetails.updateNextRunTime(trigger.getNextFireTime()); scheduledJobDetails.updateErrorLog(null); } catch (final Throwable throwable) {