1
1
/*
2
- * Copyright 2022-2024 the original author or authors.
2
+ * Copyright 2022-2025 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -51,6 +51,16 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
51
51
52
52
private static final String MISSING_ANNOTATION_ERROR_MESSAGE = "EnableBatchProcessing is not present on importing class '%s' as expected" ;
53
53
54
+ private static final String JOB_REPOSITORY = "jobRepository" ;
55
+
56
+ private static final String JOB_EXPLORER = "jobExplorer" ;
57
+
58
+ private static final String JOB_LAUNCHER = "jobLauncher" ;
59
+
60
+ private static final String JOB_REGISTRY = "jobRegistry" ;
61
+
62
+ private static final String JOB_LOADER = "jobLoader" ;
63
+
54
64
@ Override
55
65
public void registerBeanDefinitions (AnnotationMetadata importingClassMetadata , BeanDefinitionRegistry registry ) {
56
66
StopWatch watch = new StopWatch ();
@@ -80,7 +90,7 @@ private void validateState(AnnotationMetadata importingClassMetadata) {
80
90
}
81
91
82
92
private void registerJobRepository (BeanDefinitionRegistry registry , EnableBatchProcessing batchAnnotation ) {
83
- if (registry .containsBeanDefinition ("jobRepository" )) {
93
+ if (registry .containsBeanDefinition (JOB_REPOSITORY )) {
84
94
LOGGER .info ("Bean jobRepository already defined in the application context, skipping"
85
95
+ " the registration of a jobRepository" );
86
96
return ;
@@ -143,11 +153,11 @@ private void registerJobRepository(BeanDefinitionRegistry registry, EnableBatchP
143
153
144
154
beanDefinitionBuilder .addPropertyValue ("maxVarCharLength" , batchAnnotation .maxVarCharLength ());
145
155
beanDefinitionBuilder .addPropertyValue ("clobType" , batchAnnotation .clobType ());
146
- registry .registerBeanDefinition ("jobRepository" , beanDefinitionBuilder .getBeanDefinition ());
156
+ registry .registerBeanDefinition (JOB_REPOSITORY , beanDefinitionBuilder .getBeanDefinition ());
147
157
}
148
158
149
159
private void registerJobExplorer (BeanDefinitionRegistry registry , EnableBatchProcessing batchAnnotation ) {
150
- if (registry .containsBeanDefinition ("jobExplorer" )) {
160
+ if (registry .containsBeanDefinition (JOB_EXPLORER )) {
151
161
LOGGER .info ("Bean jobExplorer already defined in the application context, skipping"
152
162
+ " the registration of a jobExplorer" );
153
163
return ;
@@ -192,37 +202,37 @@ private void registerJobExplorer(BeanDefinitionRegistry registry, EnableBatchPro
192
202
if (tablePrefix != null ) {
193
203
beanDefinitionBuilder .addPropertyValue ("tablePrefix" , tablePrefix );
194
204
}
195
- registry .registerBeanDefinition ("jobExplorer" , beanDefinitionBuilder .getBeanDefinition ());
205
+ registry .registerBeanDefinition (JOB_EXPLORER , beanDefinitionBuilder .getBeanDefinition ());
196
206
}
197
207
198
208
private void registerJobLauncher (BeanDefinitionRegistry registry , EnableBatchProcessing batchAnnotation ) {
199
- if (registry .containsBeanDefinition ("jobLauncher" )) {
209
+ if (registry .containsBeanDefinition (JOB_LAUNCHER )) {
200
210
LOGGER .info ("Bean jobLauncher already defined in the application context, skipping"
201
211
+ " the registration of a jobLauncher" );
202
212
return ;
203
213
}
204
214
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder
205
215
.genericBeanDefinition (TaskExecutorJobLauncher .class );
206
216
// set mandatory properties
207
- beanDefinitionBuilder .addPropertyReference ("jobRepository" , "jobRepository" );
217
+ beanDefinitionBuilder .addPropertyReference (JOB_REPOSITORY , JOB_REPOSITORY );
208
218
209
219
// set optional properties
210
220
String taskExecutorRef = batchAnnotation .taskExecutorRef ();
211
221
if (registry .containsBeanDefinition (taskExecutorRef )) {
212
222
beanDefinitionBuilder .addPropertyReference ("taskExecutor" , taskExecutorRef );
213
223
}
214
- registry .registerBeanDefinition ("jobLauncher" , beanDefinitionBuilder .getBeanDefinition ());
224
+ registry .registerBeanDefinition (JOB_LAUNCHER , beanDefinitionBuilder .getBeanDefinition ());
215
225
}
216
226
217
227
private void registerJobRegistry (BeanDefinitionRegistry registry ) {
218
- if (registry .containsBeanDefinition ("jobRegistry" )) {
228
+ if (registry .containsBeanDefinition (JOB_REGISTRY )) {
219
229
LOGGER .info ("Bean jobRegistry already defined in the application context, skipping"
220
230
+ " the registration of a jobRegistry" );
221
231
return ;
222
232
}
223
233
BeanDefinition beanDefinition = BeanDefinitionBuilder .genericBeanDefinition (MapJobRegistry .class )
224
234
.getBeanDefinition ();
225
- registry .registerBeanDefinition ("jobRegistry" , beanDefinition );
235
+ registry .registerBeanDefinition (JOB_REGISTRY , beanDefinition );
226
236
}
227
237
228
238
private void registerJobRegistrySmartInitializingSingleton (BeanDefinitionRegistry registry ) {
@@ -234,7 +244,7 @@ private void registerJobRegistrySmartInitializingSingleton(BeanDefinitionRegistr
234
244
}
235
245
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder
236
246
.genericBeanDefinition (JobRegistrySmartInitializingSingleton .class );
237
- beanDefinitionBuilder .addPropertyReference ("jobRegistry" , "jobRegistry" );
247
+ beanDefinitionBuilder .addPropertyReference (JOB_REGISTRY , JOB_REGISTRY );
238
248
239
249
registry .registerBeanDefinition ("jobRegistrySmartInitializingSingleton" ,
240
250
beanDefinitionBuilder .getBeanDefinition ());
@@ -252,10 +262,10 @@ private void registerJobOperator(BeanDefinitionRegistry registry, EnableBatchPro
252
262
String transactionManagerRef = batchAnnotation .transactionManagerRef ();
253
263
beanDefinitionBuilder .addPropertyReference ("transactionManager" , transactionManagerRef );
254
264
255
- beanDefinitionBuilder .addPropertyReference ("jobRepository" , "jobRepository" );
256
- beanDefinitionBuilder .addPropertyReference ("jobLauncher" , "jobLauncher" );
257
- beanDefinitionBuilder .addPropertyReference ("jobExplorer" , "jobExplorer" );
258
- beanDefinitionBuilder .addPropertyReference ("jobRegistry" , "jobRegistry" );
265
+ beanDefinitionBuilder .addPropertyReference (JOB_REPOSITORY , JOB_REPOSITORY );
266
+ beanDefinitionBuilder .addPropertyReference (JOB_LAUNCHER , JOB_LAUNCHER );
267
+ beanDefinitionBuilder .addPropertyReference (JOB_EXPLORER , JOB_EXPLORER );
268
+ beanDefinitionBuilder .addPropertyReference (JOB_REGISTRY , JOB_REGISTRY );
259
269
260
270
// set optional properties
261
271
String jobParametersConverterRef = batchAnnotation .jobParametersConverterRef ();
@@ -276,12 +286,12 @@ private void registerAutomaticJobRegistrar(BeanDefinitionRegistry registry, Enab
276
286
return ;
277
287
}
278
288
BeanDefinition jobLoaderBeanDefinition = BeanDefinitionBuilder .genericBeanDefinition (DefaultJobLoader .class )
279
- .addPropertyReference ("jobRegistry" , "jobRegistry" )
289
+ .addPropertyReference (JOB_REGISTRY , JOB_REGISTRY )
280
290
.getBeanDefinition ();
281
- registry .registerBeanDefinition ("jobLoader" , jobLoaderBeanDefinition );
291
+ registry .registerBeanDefinition (JOB_LOADER , jobLoaderBeanDefinition );
282
292
BeanDefinition jobRegistrarBeanDefinition = BeanDefinitionBuilder
283
293
.genericBeanDefinition (AutomaticJobRegistrar .class )
284
- .addPropertyReference ("jobLoader" , "jobLoader" )
294
+ .addPropertyReference (JOB_LOADER , JOB_LOADER )
285
295
.getBeanDefinition ();
286
296
registry .registerBeanDefinition ("jobRegistrar" , jobRegistrarBeanDefinition );
287
297
}
0 commit comments