(已解决)关于quartz的Job无法交给Spring容器管理从而无法在启动时注入的问题
来源:11-9 增加生成每日车次功能

明明是只幼刀
2024-03-20
老师您好,在学习这一节并尝试实现的时候发现,
@DisallowConcurrentExecution
public class DailyTrainJob implements Job {
@Resource
private BusinessFeign businessFeign;
}
项目中创建的定时任务类并非Spring的配置类,所以无法在初始化的时候自动注入Bean,BusinessFeign没有交给Spring IOC容器管理,所以当程序启动后进行调用会产生空指针异常
请问老师课程中演示为什么没有产生异常,是做过相关的配置吗。
写回答
2回答
-
慕圣4557661
2025-03-21
@Bean
public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("dataSource") DataSource dataSource) throws IOException {
SchedulerFactoryBean factory = new SchedulerFactoryBean();
factory.setDataSource(dataSource);
factory.setJobFactory(myJobFactory);
factory.setStartupDelay(2);
return factory;
}factory.setJobFactory(myJobFactory);这一行之前老师说不写也可以,但是不写的话,Quartz 直接创建
DailyTrainJob
,不会经过 Spring 容器,@Resourse会失效,我是这个问题导致不能自动注入00 -
甲蛙
2024-03-27
1111
00
相似问题
提问:
回答 2