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