From ae2df5396baa25cc5abe68e43508f6d0981dcf68 Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Mon, 5 May 2025 18:36:07 +0200 Subject: [PATCH] Remove JobExplorer bean registration from the default batch configuration Resolves #4825 --- .../annotation/BatchRegistrar.java | 47 ------------------- .../annotation/EnableBatchProcessing.java | 3 -- .../support/DefaultBatchConfiguration.java | 21 --------- .../annotation/BatchRegistrarTests.java | 9 ---- .../DefaultBatchConfigurationTests.java | 3 -- 5 files changed, 83 deletions(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/BatchRegistrar.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/BatchRegistrar.java index 631f12b26..d8e58f138 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/BatchRegistrar.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/BatchRegistrar.java @@ -53,8 +53,6 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar { private static final String JOB_REPOSITORY = "jobRepository"; - private static final String JOB_EXPLORER = "jobExplorer"; - private static final String JOB_LAUNCHER = "jobLauncher"; private static final String JOB_REGISTRY = "jobRegistry"; @@ -70,7 +68,6 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar { .get(EnableBatchProcessing.class) .synthesize(); registerJobRepository(registry, batchAnnotation); - registerJobExplorer(registry, batchAnnotation); registerJobLauncher(registry, batchAnnotation); registerJobRegistry(registry); registerJobRegistrySmartInitializingSingleton(registry); @@ -151,50 +148,6 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar { registry.registerBeanDefinition(JOB_REPOSITORY, beanDefinitionBuilder.getBeanDefinition()); } - private void registerJobExplorer(BeanDefinitionRegistry registry, EnableBatchProcessing batchAnnotation) { - if (registry.containsBeanDefinition(JOB_EXPLORER)) { - LOGGER.info("Bean jobExplorer already defined in the application context, skipping" - + " the registration of a jobExplorer"); - return; - } - BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder - .genericBeanDefinition(JobExplorerFactoryBean.class); - - // set mandatory properties - String dataSourceRef = batchAnnotation.dataSourceRef(); - beanDefinitionBuilder.addPropertyReference("dataSource", dataSourceRef); - - String transactionManagerRef = batchAnnotation.transactionManagerRef(); - beanDefinitionBuilder.addPropertyReference("transactionManager", transactionManagerRef); - - // set optional properties - String executionContextSerializerRef = batchAnnotation.executionContextSerializerRef(); - if (registry.containsBeanDefinition(executionContextSerializerRef)) { - beanDefinitionBuilder.addPropertyReference("serializer", executionContextSerializerRef); - } - - String conversionServiceRef = batchAnnotation.conversionServiceRef(); - if (registry.containsBeanDefinition(conversionServiceRef)) { - beanDefinitionBuilder.addPropertyReference("conversionService", conversionServiceRef); - } - - String jobKeyGeneratorRef = batchAnnotation.jobKeyGeneratorRef(); - if (registry.containsBeanDefinition(jobKeyGeneratorRef)) { - beanDefinitionBuilder.addPropertyReference("jobKeyGenerator", jobKeyGeneratorRef); - } - - String charset = batchAnnotation.charset(); - if (charset != null) { - beanDefinitionBuilder.addPropertyValue("charset", Charset.forName(charset)); - } - - String tablePrefix = batchAnnotation.tablePrefix(); - if (tablePrefix != null) { - beanDefinitionBuilder.addPropertyValue("tablePrefix", tablePrefix); - } - registry.registerBeanDefinition(JOB_EXPLORER, beanDefinitionBuilder.getBeanDefinition()); - } - private void registerJobLauncher(BeanDefinitionRegistry registry, EnableBatchProcessing batchAnnotation) { if (registry.containsBeanDefinition(JOB_LAUNCHER)) { LOGGER.info("Bean jobLauncher already defined in the application context, skipping" diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java index 6e2740079..999706a53 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java @@ -87,9 +87,6 @@ import org.springframework.transaction.PlatformTransactionManager; * {@link TaskExecutorJobLauncher}) *
  • a {@link JobRegistry} (bean name "jobRegistry" of type * {@link org.springframework.batch.core.configuration.support.MapJobRegistry})
  • - *
  • a {@link org.springframework.batch.core.explore.JobExplorer} (bean name - * "jobExplorer" of type - * {@link org.springframework.batch.core.explore.support.SimpleJobExplorer})
  • *
  • a {@link org.springframework.batch.core.launch.JobOperator} (bean name * "jobOperator" of type * {@link org.springframework.batch.core.launch.support.SimpleJobOperator})
  • diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java index 1a628b3d9..dea1f3331 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java @@ -79,7 +79,6 @@ import org.springframework.transaction.annotation.Isolation; * *