Spring Boot 2.0 Quartz - Use non-primary datasource

后端 未结 3 1353
南笙
南笙 2021-02-08 19:58

I used Quartz as scheduler in my application. Trying to use Spring boot 2.0 features. I have 2 different data sources in the configuration. One for application and another one f

3条回答
  •  梦毁少年i
    2021-02-08 20:12

    This is a bug in spring-boot. As a workaround, I removed spring.quartz.job-store-type property and then configured DataSource and PlatformTransactionManager in customizer. Refer below updated code:

    @Configuration
    public class SchedulerConfig 
    {
        private DataSource dataSource;
    
        private PlatformTransactionManager transactionManager;
    
        @Autowired
        public SchedulerConfig(@Qualifier("schedulerDataSource") DataSource dataSource, @Qualifier("schedulerTransactionManager") PlatformTransactionManager transactionManager) 
        {
            this.dataSource = dataSource;
            this.transactionManager = transactionManager;
        }
    
        @Bean
        public SchedulerFactoryBeanCustomizer schedulerFactoryBeanCustomizer() 
        {
            return bean -> 
            {
                bean.setDataSource(dataSource);
                bean.setTransactionManager(transactionManager);
            };
        }
    }
    

提交回复
热议问题