diff --git a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskBatchAutoConfiguration.java b/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskBatchAutoConfiguration.java index 49578471..e76439f2 100644 --- a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskBatchAutoConfiguration.java +++ b/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskBatchAutoConfiguration.java @@ -32,11 +32,14 @@ import org.springframework.context.annotation.Configuration; /** * Provides auto configuration for the {@link TaskBatchExecutionListener}. * + * The spring.cloud.task.batch.listener.enable is deprecated, + * spring.cloud.task.batch.listener.enabled should be used. + * * @author Michael Minella */ @Configuration @ConditionalOnBean({Job.class}) -@ConditionalOnProperty(name = "spring.cloud.task.batch.listener.enable", havingValue = "true", matchIfMissing = true) +@ConditionalOnProperty(name = {"spring.cloud.task.batch.listener.enable", "spring.cloud.task.batch.listener.enabled"}, havingValue = "true", matchIfMissing = true) public class TaskBatchAutoConfiguration { @Bean diff --git a/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/listener/TaskBatchExecutionListenerTests.java b/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/listener/TaskBatchExecutionListenerTests.java index a40e1ac2..52dcf98d 100644 --- a/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/listener/TaskBatchExecutionListenerTests.java +++ b/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/listener/TaskBatchExecutionListenerTests.java @@ -86,6 +86,56 @@ public class TaskBatchExecutionListenerTests { validateContext(); } + @Test(expected = AssertionError.class) + public void testNoAutoConfigurationEnabled() { + this.applicationContext = SpringApplication.run(new Class[] {JobConfiguration.class, + PropertyPlaceholderAutoConfiguration.class, + EmbeddedDataSourceConfiguration.class, + BatchAutoConfiguration.class, + TaskBatchAutoConfiguration.class}, new String[] {"--spring.cloud.task.batch.listener.enabled=false"}); + validateContext(); + } + + @Test(expected = AssertionError.class) + public void testNoAutoConfigurationEnable() { + this.applicationContext = SpringApplication.run(new Class[] {JobConfiguration.class, + PropertyPlaceholderAutoConfiguration.class, + EmbeddedDataSourceConfiguration.class, + BatchAutoConfiguration.class, + TaskBatchAutoConfiguration.class}, new String[] {"--spring.cloud.task.batch.listener.enable=false"}); + validateContext(); + } + + @Test(expected = AssertionError.class) + public void testNoAutoConfigurationBothDisabled() { + this.applicationContext = SpringApplication.run(new Class[] {JobConfiguration.class, + PropertyPlaceholderAutoConfiguration.class, + EmbeddedDataSourceConfiguration.class, + BatchAutoConfiguration.class, + TaskBatchAutoConfiguration.class}, new String[] {"--spring.cloud.task.batch.listener.enable=false --spring.cloud.task.batch.listener.enabled=false"}); + validateContext(); + } + + @Test + public void testAutoConfigurationEnable() { + this.applicationContext = SpringApplication.run(new Class[] {JobConfiguration.class, + PropertyPlaceholderAutoConfiguration.class, + EmbeddedDataSourceConfiguration.class, + BatchAutoConfiguration.class, + TaskBatchAutoConfiguration.class}, new String[] {"--spring.cloud.task.batch.listener.enable=true"}); + validateContext(); + } + + @Test + public void testAutoConfigurationEnabled() { + this.applicationContext = SpringApplication.run(new Class[] {JobConfiguration.class, + PropertyPlaceholderAutoConfiguration.class, + EmbeddedDataSourceConfiguration.class, + BatchAutoConfiguration.class, + TaskBatchAutoConfiguration.class}, new String[] {"--spring.cloud.task.batch.listener.enabled=true"}); + validateContext(); + } + @Test public void testFactoryBean() { this.applicationContext = SpringApplication.run(new Class[]{JobFactoryBeanConfiguration.class,