From 19ccfaea8652bdd10a6e3f101ef44631c757906b Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 6 Sep 2019 13:05:53 +0100 Subject: [PATCH] Fix QuartzAutoConfiguration when Liquibase is not on the class path Fixes gh-18153 --- .../quartz/QuartzAutoConfiguration.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java index f8dfa480e9d..6ec29f7b776 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java @@ -166,8 +166,8 @@ public class QuartzAutoConfiguration { /** * Additional configuration to ensure that {@link SchedulerFactoryBean} and - * {@link Scheduler} beans depend on the {@link QuartzDataSourceInitializer} - * bean(s). + * {@link Scheduler} beans depend on any beans that perform data source + * initialization. */ @Configuration static class QuartzSchedulerDependencyConfiguration { @@ -183,10 +183,16 @@ public class QuartzAutoConfiguration { return new SchedulerDependsOnBeanFactoryPostProcessor(FlywayMigrationInitializer.class); } - @Bean - @ConditionalOnBean(SpringLiquibase.class) - public static SchedulerDependsOnBeanFactoryPostProcessor quartzSchedulerLiquibaseDependsOnBeanFactoryPostProcessor() { - return new SchedulerDependsOnBeanFactoryPostProcessor(SpringLiquibase.class); + @Configuration + @ConditionalOnClass(SpringLiquibase.class) + static class LiquibaseQuartzSchedulerDependencyConfiguration { + + @Bean + @ConditionalOnBean(SpringLiquibase.class) + public static SchedulerDependsOnBeanFactoryPostProcessor quartzSchedulerLiquibaseDependsOnBeanFactoryPostProcessor() { + return new SchedulerDependsOnBeanFactoryPostProcessor(SpringLiquibase.class); + } + } }