diff --git a/pom.xml b/pom.xml index ea0f9a5a4..ab5cca622 100644 --- a/pom.xml +++ b/pom.xml @@ -42,7 +42,7 @@ 1.1.4 1.0.0-RC6 0.7.2 - 0.5.0 + 0.5.1-RC6 0.5.6 diff --git a/src/main/java/org/codelibs/fess/app/service/ScheduledJobService.java b/src/main/java/org/codelibs/fess/app/service/ScheduledJobService.java index 3f600fa04..c1b10928d 100644 --- a/src/main/java/org/codelibs/fess/app/service/ScheduledJobService.java +++ b/src/main/java/org/codelibs/fess/app/service/ScheduledJobService.java @@ -75,6 +75,7 @@ public class ScheduledJobService { scheduledJobBhv.delete(scheduledJob, op -> { op.setRefreshPolicy(Constants.TRUE); }); + ComponentUtil.getJobHelper().remove(scheduledJob); } protected void setupListCondition(final ScheduledJobCB cb, final SchedulerPager scheduledJobPager) { diff --git a/src/main/java/org/codelibs/fess/helper/JobHelper.java b/src/main/java/org/codelibs/fess/helper/JobHelper.java index b6b7da11b..1662b95b0 100644 --- a/src/main/java/org/codelibs/fess/helper/JobHelper.java +++ b/src/main/java/org/codelibs/fess/helper/JobHelper.java @@ -128,6 +128,19 @@ public class JobHelper { } } + public void remove(final ScheduledJob scheduledJob) { + try { + final JobManager jobManager = ComponentUtil.getJobManager(); + if (jobManager.isSchedulingDone()) { + jobManager.findJobByUniqueOf(LaJobUnique.of(scheduledJob.getId())).ifPresent(job -> { + job.disappear(); + }).orElse(() -> logger.debug("Job {} is not scheduled.", scheduledJob.getId())); + } + } catch (final Exception e) { + throw new ScheduledJobException("Failed to delete Job: " + scheduledJob, e); + } + } + public boolean isAvailable(final String id) { return ComponentUtil.getComponent(ScheduledJobBhv.class).selectByPK(id).filter(e -> Boolean.TRUE.equals(e.getAvailable())) .isPresent();