下面列出了org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer#org.springframework.boot.autoconfigure.quartz.QuartzDataSource 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Bean
@Order(1)
public SchedulerFactoryBeanCustomizer jobDataSourceCustomizer(ApiBootQuartzProperties properties, DataSource dataSource, @QuartzDataSource ObjectProvider<DataSource> quartzDataSource, ObjectProvider<PlatformTransactionManager> transactionManager) {
return (schedulerFactoryBean) -> {
if (properties.getJobStoreType() == JobStoreType.JDBC) {
DataSource dataSourceToUse = this.getDataSource(dataSource, quartzDataSource);
schedulerFactoryBean.setDataSource(dataSourceToUse);
PlatformTransactionManager txManager = transactionManager.getIfUnique();
if (txManager != null) {
schedulerFactoryBean.setTransactionManager(txManager);
}
}
};
}
@Bean
@Order(1)
public SchedulerFactoryBeanCustomizer jobDataSourceCustomizer(ApiBootQuartzProperties properties, DataSource dataSource, @QuartzDataSource ObjectProvider<DataSource> quartzDataSource, ObjectProvider<PlatformTransactionManager> transactionManager) {
return (schedulerFactoryBean) -> {
if (properties.getJobStoreType() == JobStoreType.JDBC) {
DataSource dataSourceToUse = this.getDataSource(dataSource, quartzDataSource);
schedulerFactoryBean.setDataSource(dataSourceToUse);
PlatformTransactionManager txManager = transactionManager.getIfUnique();
if (txManager != null) {
schedulerFactoryBean.setTransactionManager(txManager);
}
}
};
}
@Bean
@ConditionalOnMissingBean
public ApiBootQuartzDataSourceInitializer apiBootQuartzDataSourceInitializer(DataSource dataSource, @QuartzDataSource ObjectProvider<DataSource> quartzDataSource, ResourceLoader resourceLoader, ApiBootQuartzProperties properties) {
DataSource dataSourceToUse = this.getDataSource(dataSource, quartzDataSource);
return new ApiBootQuartzDataSourceInitializer(dataSourceToUse, resourceLoader, properties);
}
@Bean
@ConditionalOnMissingBean
public ApiBootQuartzDataSourceInitializer apiBootQuartzDataSourceInitializer(DataSource dataSource, @QuartzDataSource ObjectProvider<DataSource> quartzDataSource, ResourceLoader resourceLoader, ApiBootQuartzProperties properties) {
DataSource dataSourceToUse = this.getDataSource(dataSource, quartzDataSource);
return new ApiBootQuartzDataSourceInitializer(dataSourceToUse, resourceLoader, properties);
}
@Bean
@QuartzDataSource
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource quartzDataSource() {
return DataSourceBuilder.create().build();
}