Skip to content

Commit ae2df53

Browse files
committed
Remove JobExplorer bean registration from the default batch configuration
Resolves #4825
1 parent 6992b79 commit ae2df53

File tree

5 files changed

+0
-83
lines changed

5 files changed

+0
-83
lines changed

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/BatchRegistrar.java

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
5353

5454
private static final String JOB_REPOSITORY = "jobRepository";
5555

56-
private static final String JOB_EXPLORER = "jobExplorer";
57-
5856
private static final String JOB_LAUNCHER = "jobLauncher";
5957

6058
private static final String JOB_REGISTRY = "jobRegistry";
@@ -70,7 +68,6 @@ public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, B
7068
.get(EnableBatchProcessing.class)
7169
.synthesize();
7270
registerJobRepository(registry, batchAnnotation);
73-
registerJobExplorer(registry, batchAnnotation);
7471
registerJobLauncher(registry, batchAnnotation);
7572
registerJobRegistry(registry);
7673
registerJobRegistrySmartInitializingSingleton(registry);
@@ -151,50 +148,6 @@ private void registerJobRepository(BeanDefinitionRegistry registry, EnableBatchP
151148
registry.registerBeanDefinition(JOB_REPOSITORY, beanDefinitionBuilder.getBeanDefinition());
152149
}
153150

154-
private void registerJobExplorer(BeanDefinitionRegistry registry, EnableBatchProcessing batchAnnotation) {
155-
if (registry.containsBeanDefinition(JOB_EXPLORER)) {
156-
LOGGER.info("Bean jobExplorer already defined in the application context, skipping"
157-
+ " the registration of a jobExplorer");
158-
return;
159-
}
160-
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder
161-
.genericBeanDefinition(JobExplorerFactoryBean.class);
162-
163-
// set mandatory properties
164-
String dataSourceRef = batchAnnotation.dataSourceRef();
165-
beanDefinitionBuilder.addPropertyReference("dataSource", dataSourceRef);
166-
167-
String transactionManagerRef = batchAnnotation.transactionManagerRef();
168-
beanDefinitionBuilder.addPropertyReference("transactionManager", transactionManagerRef);
169-
170-
// set optional properties
171-
String executionContextSerializerRef = batchAnnotation.executionContextSerializerRef();
172-
if (registry.containsBeanDefinition(executionContextSerializerRef)) {
173-
beanDefinitionBuilder.addPropertyReference("serializer", executionContextSerializerRef);
174-
}
175-
176-
String conversionServiceRef = batchAnnotation.conversionServiceRef();
177-
if (registry.containsBeanDefinition(conversionServiceRef)) {
178-
beanDefinitionBuilder.addPropertyReference("conversionService", conversionServiceRef);
179-
}
180-
181-
String jobKeyGeneratorRef = batchAnnotation.jobKeyGeneratorRef();
182-
if (registry.containsBeanDefinition(jobKeyGeneratorRef)) {
183-
beanDefinitionBuilder.addPropertyReference("jobKeyGenerator", jobKeyGeneratorRef);
184-
}
185-
186-
String charset = batchAnnotation.charset();
187-
if (charset != null) {
188-
beanDefinitionBuilder.addPropertyValue("charset", Charset.forName(charset));
189-
}
190-
191-
String tablePrefix = batchAnnotation.tablePrefix();
192-
if (tablePrefix != null) {
193-
beanDefinitionBuilder.addPropertyValue("tablePrefix", tablePrefix);
194-
}
195-
registry.registerBeanDefinition(JOB_EXPLORER, beanDefinitionBuilder.getBeanDefinition());
196-
}
197-
198151
private void registerJobLauncher(BeanDefinitionRegistry registry, EnableBatchProcessing batchAnnotation) {
199152
if (registry.containsBeanDefinition(JOB_LAUNCHER)) {
200153
LOGGER.info("Bean jobLauncher already defined in the application context, skipping"

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@
8787
* {@link TaskExecutorJobLauncher})</li>
8888
* <li>a {@link JobRegistry} (bean name "jobRegistry" of type
8989
* {@link org.springframework.batch.core.configuration.support.MapJobRegistry})</li>
90-
* <li>a {@link org.springframework.batch.core.explore.JobExplorer} (bean name
91-
* "jobExplorer" of type
92-
* {@link org.springframework.batch.core.explore.support.SimpleJobExplorer})</li>
9390
* <li>a {@link org.springframework.batch.core.launch.JobOperator} (bean name
9491
* "jobOperator" of type
9592
* {@link org.springframework.batch.core.launch.support.SimpleJobOperator})</li>

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@
7979
*
8080
* <ul>
8181
* <li>a {@link JobRepository} named "jobRepository"</li>
82-
* <li>a {@link JobExplorer} named "jobExplorer"</li>
8382
* <li>a {@link JobLauncher} named "jobLauncher"</li>
8483
* <li>a {@link JobRegistry} named "jobRegistry"</li>
8584
* <li>a {@link JobOperator} named "JobOperator"</li>
@@ -169,26 +168,6 @@ public JobLauncher jobLauncher(JobRepository jobRepository) throws BatchConfigur
169168
}
170169
}
171170

172-
@Bean
173-
public JobExplorer jobExplorer() throws BatchConfigurationException {
174-
JobExplorerFactoryBean jobExplorerFactoryBean = new JobExplorerFactoryBean();
175-
jobExplorerFactoryBean.setDataSource(getDataSource());
176-
jobExplorerFactoryBean.setTransactionManager(getTransactionManager());
177-
jobExplorerFactoryBean.setJdbcOperations(getJdbcOperations());
178-
jobExplorerFactoryBean.setJobKeyGenerator(getJobKeyGenerator());
179-
jobExplorerFactoryBean.setCharset(getCharset());
180-
jobExplorerFactoryBean.setTablePrefix(getTablePrefix());
181-
jobExplorerFactoryBean.setConversionService(getConversionService());
182-
jobExplorerFactoryBean.setSerializer(getExecutionContextSerializer());
183-
try {
184-
jobExplorerFactoryBean.afterPropertiesSet();
185-
return jobExplorerFactoryBean.getObject();
186-
}
187-
catch (Exception e) {
188-
throw new BatchConfigurationException("Unable to configure the default job explorer", e);
189-
}
190-
}
191-
192171
@Bean
193172
public JobRegistry jobRegistry() throws BatchConfigurationException {
194173
return new MapJobRegistry();

spring-batch-core/src/test/java/org/springframework/batch/core/configuration/annotation/BatchRegistrarTests.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.springframework.batch.core.converter.DefaultJobParametersConverter;
3232
import org.springframework.batch.core.converter.JobParametersConverter;
3333
import org.springframework.batch.core.converter.JsonJobParametersConverter;
34-
import org.springframework.batch.core.explore.JobExplorer;
3534
import org.springframework.batch.core.launch.JobLauncher;
3635
import org.springframework.batch.core.launch.JobOperator;
3736
import org.springframework.batch.core.repository.JobRepository;
@@ -78,7 +77,6 @@ void testConfigurationWithUserDefinedBeans() {
7877
var context = new AnnotationConfigApplicationContext(JobConfigurationWithUserDefinedInfrastructureBeans.class);
7978

8079
Assertions.assertTrue(Mockito.mockingDetails(context.getBean(JobRepository.class)).isMock());
81-
Assertions.assertTrue(Mockito.mockingDetails(context.getBean(JobExplorer.class)).isMock());
8280
Assertions.assertTrue(Mockito.mockingDetails(context.getBean(JobLauncher.class)).isMock());
8381
Assertions.assertTrue(Mockito.mockingDetails(context.getBean(JobRegistry.class)).isMock());
8482
Assertions.assertTrue(Mockito.mockingDetails(context.getBean(JobOperator.class)).isMock());
@@ -163,7 +161,6 @@ void testDefaultInfrastructureBeansRegistration() {
163161
// when
164162
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
165163
JobRepository jobRepository = context.getBean(JobRepository.class);
166-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
167164
JobRegistry jobRegistry = context.getBean(JobRegistry.class);
168165
JobOperator jobOperator = context.getBean(JobOperator.class);
169166
JobRegistrySmartInitializingSingleton jobRegistrySmartInitializingSingleton = context
@@ -172,7 +169,6 @@ void testDefaultInfrastructureBeansRegistration() {
172169
// then
173170
Assertions.assertNotNull(jobLauncher);
174171
Assertions.assertNotNull(jobRepository);
175-
Assertions.assertNotNull(jobExplorer);
176172
Assertions.assertNotNull(jobRegistry);
177173
Assertions.assertNotNull(jobOperator);
178174
Assertions.assertNotNull(jobRegistrySmartInitializingSingleton);
@@ -258,11 +254,6 @@ public JobRepository jobRepository() {
258254
return Mockito.mock();
259255
}
260256

261-
@Bean
262-
public JobExplorer jobExplorer() {
263-
return Mockito.mock();
264-
}
265-
266257
@Bean
267258
public JobLauncher jobLauncher() {
268259
return Mockito.mock();

spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/DefaultBatchConfigurationTests.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.springframework.batch.core.Step;
3030
import org.springframework.batch.core.configuration.JobRegistry;
3131
import org.springframework.batch.core.configuration.xml.DummyJobRepository;
32-
import org.springframework.batch.core.explore.JobExplorer;
3332
import org.springframework.batch.core.job.builder.JobBuilder;
3433
import org.springframework.batch.core.launch.JobLauncher;
3534
import org.springframework.batch.core.launch.JobOperator;
@@ -98,7 +97,6 @@ void testDefaultInfrastructureBeansRegistration() {
9897
// when
9998
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
10099
JobRepository jobRepository = context.getBean(JobRepository.class);
101-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
102100
JobRegistry jobRegistry = context.getBean(JobRegistry.class);
103101
JobOperator jobOperator = context.getBean(JobOperator.class);
104102
JobRegistrySmartInitializingSingleton jobRegistrySmartInitializingSingleton = context
@@ -107,7 +105,6 @@ void testDefaultInfrastructureBeansRegistration() {
107105
// then
108106
Assertions.assertNotNull(jobLauncher);
109107
Assertions.assertNotNull(jobRepository);
110-
Assertions.assertNotNull(jobExplorer);
111108
Assertions.assertNotNull(jobRegistry);
112109
Assertions.assertNotNull(jobOperator);
113110
Assertions.assertNotNull(jobRegistrySmartInitializingSingleton);

0 commit comments

Comments
 (0)