Browse Source

#12 appropriate shutdown when crawling.

Shinsuke Sugaya 11 years ago
parent
commit
376b8564e4
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/main/java/jp/sf/fess/job/JobScheduler.java

+ 6 - 0
src/main/java/jp/sf/fess/job/JobScheduler.java

@@ -28,6 +28,7 @@ import jp.sf.fess.Constants;
 import jp.sf.fess.db.cbean.ScheduledJobCB;
 import jp.sf.fess.db.cbean.ScheduledJobCB;
 import jp.sf.fess.db.exbhv.ScheduledJobBhv;
 import jp.sf.fess.db.exbhv.ScheduledJobBhv;
 import jp.sf.fess.db.exentity.ScheduledJob;
 import jp.sf.fess.db.exentity.ScheduledJob;
+import jp.sf.fess.helper.SystemHelper;
 
 
 import org.quartz.Job;
 import org.quartz.Job;
 import org.quartz.JobDataMap;
 import org.quartz.JobDataMap;
@@ -83,6 +84,11 @@ public class JobScheduler {
 
 
     @DestroyMethod
     @DestroyMethod
     public void destroy() {
     public void destroy() {
+        final SystemHelper systemHelper = SingletonS2Container
+                .getComponent(SystemHelper.class);
+        for (final String sessionId : systemHelper.getRunningSessionIdSet()) {
+            systemHelper.destroyCrawlerProcess(sessionId);
+        }
         try {
         try {
             scheduler.shutdown(true);
             scheduler.shutdown(true);
         } catch (final SchedulerException e) {
         } catch (final SchedulerException e) {