Zheng Jie 2021-11-16 21:15:52 +08:00
parent 7167f29276
commit 08f6c58211
2 changed files with 3 additions and 22 deletions

View File

@ -15,13 +15,10 @@
*/ */
package me.zhengjie.modules.quartz.config; package me.zhengjie.modules.quartz.config;
import org.quartz.Scheduler;
import org.quartz.spi.TriggerFiredBundle; import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.AdaptableJobFactory; import org.springframework.scheduling.quartz.AdaptableJobFactory;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
@ -46,27 +43,10 @@ public class QuartzConfig {
@Override @Override
protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception { protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {
//调用父类的方法把Job注入到spring中
//调用父类的方法
Object jobInstance = super.createJobInstance(bundle); Object jobInstance = super.createJobInstance(bundle);
capableBeanFactory.autowireBean(jobInstance); capableBeanFactory.autowireBean(jobInstance);
return jobInstance; return jobInstance;
} }
} }
/**
* schedulerspring
* @param quartzJobFactory /
* @return Scheduler
* @throws Exception /
*/
@Bean(name = "scheduler")
public Scheduler scheduler(QuartzJobFactory quartzJobFactory) throws Exception {
SchedulerFactoryBean factoryBean=new SchedulerFactoryBean();
factoryBean.setJobFactory(quartzJobFactory);
factoryBean.afterPropertiesSet();
Scheduler scheduler=factoryBean.getScheduler();
scheduler.start();
return scheduler;
}
} }

View File

@ -20,6 +20,7 @@ import me.zhengjie.exception.BadRequestException;
import me.zhengjie.modules.quartz.domain.QuartzJob; import me.zhengjie.modules.quartz.domain.QuartzJob;
import org.quartz.*; import org.quartz.*;
import org.quartz.impl.triggers.CronTriggerImpl; import org.quartz.impl.triggers.CronTriggerImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
@ -35,7 +36,7 @@ public class QuartzManage {
private static final String JOB_NAME = "TASK_"; private static final String JOB_NAME = "TASK_";
@Resource(name = "scheduler") @Resource
private Scheduler scheduler; private Scheduler scheduler;
public void addJob(QuartzJob quartzJob){ public void addJob(QuartzJob quartzJob){