diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchConfigurerConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchConfigurerConfiguration.java index 415f479a39..abe9f446aa 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchConfigurerConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchConfigurerConfiguration.java @@ -40,6 +40,7 @@ import org.springframework.transaction.PlatformTransactionManager; class BatchConfigurerConfiguration { @Configuration(proxyBeanMethods = false) + @ConditionalOnBean(DataSource.class) @ConditionalOnMissingBean(name = "entityManagerFactory") static class JdbcBatchConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfigurationTests.java index aac755cdf4..8777636f74 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfigurationTests.java @@ -91,7 +91,13 @@ class BatchAutoConfigurationTests { } @Test - void testNoDatabase() { + void whenThereIsNoDataSourceAutoConfigurationBacksOff() { + this.contextRunner.withUserConfiguration(TestConfiguration.class) + .run((context) -> assertThat(context).doesNotHaveBean(BatchConfigurer.class)); + } + + @Test + void testCustomConfigurationWithNoDatabase() { this.contextRunner.withUserConfiguration(TestCustomConfiguration.class).run((context) -> { assertThat(context).hasSingleBean(JobLauncher.class); JobExplorer explorer = context.getBean(JobExplorer.class);