mirror of
https://gitee.com/ssssssss-team/magic-api.git
synced 2026-05-08 11:25:51 +08:00
修改BUG spring容器关闭后 遗留 magic-api 线程,导致 JVM 无法关闭
issues: https://gitee.com/ssssssss-team/magic-api/issues/I5BGZ6
This commit is contained in:
@@ -2,8 +2,10 @@ package org.ssssssss.magicapi.task.service;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.DisposableBean;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.scheduling.TaskScheduler;
|
||||
import org.springframework.scheduling.concurrent.ExecutorConfigurationSupport;
|
||||
import org.springframework.scheduling.config.CronTask;
|
||||
import org.springframework.scheduling.support.CronTrigger;
|
||||
import org.ssssssss.magicapi.core.config.MagicConfiguration;
|
||||
@@ -16,8 +18,9 @@ import org.ssssssss.magicapi.utils.ScriptManager;
|
||||
import org.ssssssss.script.MagicScriptContext;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
public class TaskMagicDynamicRegistry extends AbstractMagicDynamicRegistry<TaskInfo> {
|
||||
public class TaskMagicDynamicRegistry extends AbstractMagicDynamicRegistry<TaskInfo> implements DisposableBean {
|
||||
|
||||
private final TaskScheduler taskScheduler;
|
||||
|
||||
@@ -99,4 +102,14 @@ public class TaskMagicDynamicRegistry extends AbstractMagicDynamicRegistry<TaskI
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void destroy() {
|
||||
if (taskScheduler != null) {
|
||||
if (taskScheduler instanceof ThreadPoolExecutor) {
|
||||
((ThreadPoolExecutor) taskScheduler).shutdown();
|
||||
}else if (taskScheduler instanceof ExecutorConfigurationSupport) {
|
||||
((ExecutorConfigurationSupport) taskScheduler).shutdown();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user