springboot整合支持集群的quartz,引入包并整合到原有框架后
<!-- quartz定时任务 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
一直报数据库密码连接错误,且连接的数据库配置变为本地配置。不影响程序运行,但报错实在看着难受。
删除Scheduler注入后就不报错。
@Autowired
private Scheduler scheduler;
定位很久,发现在Quartz的autoConfig里面注入数据源时,没有指定具体的bean,quartz默认使用本地连接,加入
@Autowired
@Qualifier("originalSource")
DataSource dataSource;
后,使用之前的数据源,问题解决。
或者配置多数据源,让quartz的11表在单独的数据库中,只需要把数据源配置写入参数中,并
schedulerFactoryBean.setQuartzProperties(quartzProperties());
进去即可。只是猜测,没有验证。