From a34a464763cf752ba12e24e6f5a516a370dbc36d Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Sun, 15 May 2022 01:21:10 +0200 Subject: [PATCH] Make ModularBatchConfiguration extend SimpleBatchConfiguration This change makes the added value of ModularBatchConfiguration compared to SimpleBatchConfiguration more visible. --- .../annotation/ModularBatchConfiguration.java | 35 ++----------------- .../annotation/SimpleBatchConfiguration.java | 2 +- 2 files changed, 4 insertions(+), 33 deletions(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/ModularBatchConfiguration.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/ModularBatchConfiguration.java index dfae053d9..2093847a0 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/ModularBatchConfiguration.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/ModularBatchConfiguration.java @@ -30,8 +30,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.transaction.PlatformTransactionManager; /** - * Base {@code Configuration} class providing common structure for enabling and using Spring Batch. Customization is - * available by implementing the {@link BatchConfigurer} interface. + * Base {@code Configuration} class providing common structure for enabling and using Spring Batch. + * Customization is available by implementing the {@link BatchConfigurer} interface. * * @author Dave Syer * @author Mahmoud Ben Hassine @@ -39,39 +39,10 @@ import org.springframework.transaction.PlatformTransactionManager; * @see EnableBatchProcessing */ @Configuration(proxyBeanMethods = false) -public class ModularBatchConfiguration extends AbstractBatchConfiguration { - - @Autowired - private ApplicationContext context; - - @Autowired(required = false) - private Collection configurers; +public class ModularBatchConfiguration extends SimpleBatchConfiguration { private AutomaticJobRegistrar registrar = new AutomaticJobRegistrar(); - @Override - @Bean - public JobRepository jobRepository() throws Exception { - return getConfigurer(configurers).getJobRepository(); - } - - @Override - @Bean - public JobLauncher jobLauncher() throws Exception { - return getConfigurer(configurers).getJobLauncher(); - } - - @Override - public PlatformTransactionManager transactionManager() throws Exception { - return getConfigurer(configurers).getTransactionManager(); - } - - @Override - @Bean - public JobExplorer jobExplorer() throws Exception { - return getConfigurer(configurers).getJobExplorer(); - } - /** * Creates a {@link AutomaticJobRegistrar} bean. * diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/SimpleBatchConfiguration.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/SimpleBatchConfiguration.java index cd6c0ff1a..a4314eedc 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/SimpleBatchConfiguration.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/SimpleBatchConfiguration.java @@ -47,7 +47,7 @@ import org.springframework.transaction.PlatformTransactionManager; public class SimpleBatchConfiguration extends AbstractBatchConfiguration { @Autowired - private ApplicationContext context; + protected ApplicationContext context; @Autowired(required = false) private Collection configurers;