diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java b/xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java index 9b28d4e4..d0a14824 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java @@ -5,6 +5,8 @@ import com.xxl.job.core.glue.GlueFactory; import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.handler.annotation.JobHandler; import org.springframework.beans.BeansException; +import org.springframework.beans.factory.DisposableBean; +import org.springframework.beans.factory.InitializingBean; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; @@ -15,11 +17,12 @@ import java.util.Map; * * @author xuxueli 2018-11-01 09:24:52 */ -public class XxlJobSpringExecutor extends XxlJobExecutor implements ApplicationContextAware { +public class XxlJobSpringExecutor extends XxlJobExecutor implements ApplicationContextAware, InitializingBean, DisposableBean { + // start @Override - public void start() throws Exception { + public void afterPropertiesSet() throws Exception { // init JobHandler Repository initJobHandlerRepository(applicationContext); @@ -32,6 +35,13 @@ public class XxlJobSpringExecutor extends XxlJobExecutor implements ApplicationC super.start(); } + // destroy + @Override + public void destroy() { + super.destroy(); + } + + private void initJobHandlerRepository(ApplicationContext applicationContext){ if (applicationContext == null) { return; diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java index e1b49d4c..0ac3a3dd 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java @@ -38,7 +38,7 @@ public class XxlJobConfig { private int logRetentionDays; - @Bean(initMethod = "start", destroyMethod = "destroy") + @Bean public XxlJobSpringExecutor xxlJobExecutor() { logger.info(">>>>>>>>>>> xxl-job config init."); XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();