瀏覽代碼

fix #1278 update lasta-job

Shinsuke Sugaya 7 年之前
父節點
當前提交
f72e4d7537

+ 1 - 1
pom.xml

@@ -42,7 +42,7 @@
 		<dbflute.version>1.1.4</dbflute.version>
 		<lastaflute.version>1.0.0-RC6</lastaflute.version>
 		<lasta.taglib.version>0.7.2</lasta.taglib.version>
-		<lasta.job.version>0.5.0</lasta.job.version>
+		<lasta.job.version>0.5.1-RC6</lasta.job.version>
 		<mailflute.version>0.5.6</mailflute.version>
 
 		<!-- Partner Library -->

+ 1 - 0
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) {

+ 13 - 0
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();