Extract bean name string literals to constants

- Extract hardcoded bean name strings to static final constants
- Improve code maintainability and reduce the risk of typos
- No functional changes

Signed-off-by: kimjg <k42ke@naver.com>
This commit is contained in:
kimjg
2025-02-09 17:08:42 +09:00
committed by Mahmoud Ben Hassine
parent f888ebb43f
commit 3b0868db5d

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2022-2024 the original author or authors.
* Copyright 2022-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -51,6 +51,16 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
private static final String MISSING_ANNOTATION_ERROR_MESSAGE = "EnableBatchProcessing is not present on importing class '%s' as expected";
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";
private static final String JOB_LOADER = "jobLoader";
@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
StopWatch watch = new StopWatch();
@@ -80,7 +90,7 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
}
private void registerJobRepository(BeanDefinitionRegistry registry, EnableBatchProcessing batchAnnotation) {
if (registry.containsBeanDefinition("jobRepository")) {
if (registry.containsBeanDefinition(JOB_REPOSITORY)) {
LOGGER.info("Bean jobRepository already defined in the application context, skipping"
+ " the registration of a jobRepository");
return;
@@ -143,11 +153,11 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
beanDefinitionBuilder.addPropertyValue("maxVarCharLength", batchAnnotation.maxVarCharLength());
beanDefinitionBuilder.addPropertyValue("clobType", batchAnnotation.clobType());
registry.registerBeanDefinition("jobRepository", beanDefinitionBuilder.getBeanDefinition());
registry.registerBeanDefinition(JOB_REPOSITORY, beanDefinitionBuilder.getBeanDefinition());
}
private void registerJobExplorer(BeanDefinitionRegistry registry, EnableBatchProcessing batchAnnotation) {
if (registry.containsBeanDefinition("jobExplorer")) {
if (registry.containsBeanDefinition(JOB_EXPLORER)) {
LOGGER.info("Bean jobExplorer already defined in the application context, skipping"
+ " the registration of a jobExplorer");
return;
@@ -192,11 +202,11 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
if (tablePrefix != null) {
beanDefinitionBuilder.addPropertyValue("tablePrefix", tablePrefix);
}
registry.registerBeanDefinition("jobExplorer", beanDefinitionBuilder.getBeanDefinition());
registry.registerBeanDefinition(JOB_EXPLORER, beanDefinitionBuilder.getBeanDefinition());
}
private void registerJobLauncher(BeanDefinitionRegistry registry, EnableBatchProcessing batchAnnotation) {
if (registry.containsBeanDefinition("jobLauncher")) {
if (registry.containsBeanDefinition(JOB_LAUNCHER)) {
LOGGER.info("Bean jobLauncher already defined in the application context, skipping"
+ " the registration of a jobLauncher");
return;
@@ -204,25 +214,25 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder
.genericBeanDefinition(TaskExecutorJobLauncher.class);
// set mandatory properties
beanDefinitionBuilder.addPropertyReference("jobRepository", "jobRepository");
beanDefinitionBuilder.addPropertyReference(JOB_REPOSITORY, JOB_REPOSITORY);
// set optional properties
String taskExecutorRef = batchAnnotation.taskExecutorRef();
if (registry.containsBeanDefinition(taskExecutorRef)) {
beanDefinitionBuilder.addPropertyReference("taskExecutor", taskExecutorRef);
}
registry.registerBeanDefinition("jobLauncher", beanDefinitionBuilder.getBeanDefinition());
registry.registerBeanDefinition(JOB_LAUNCHER, beanDefinitionBuilder.getBeanDefinition());
}
private void registerJobRegistry(BeanDefinitionRegistry registry) {
if (registry.containsBeanDefinition("jobRegistry")) {
if (registry.containsBeanDefinition(JOB_REGISTRY)) {
LOGGER.info("Bean jobRegistry already defined in the application context, skipping"
+ " the registration of a jobRegistry");
return;
}
BeanDefinition beanDefinition = BeanDefinitionBuilder.genericBeanDefinition(MapJobRegistry.class)
.getBeanDefinition();
registry.registerBeanDefinition("jobRegistry", beanDefinition);
registry.registerBeanDefinition(JOB_REGISTRY, beanDefinition);
}
private void registerJobRegistrySmartInitializingSingleton(BeanDefinitionRegistry registry) {
@@ -234,7 +244,7 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
}
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder
.genericBeanDefinition(JobRegistrySmartInitializingSingleton.class);
beanDefinitionBuilder.addPropertyReference("jobRegistry", "jobRegistry");
beanDefinitionBuilder.addPropertyReference(JOB_REGISTRY, JOB_REGISTRY);
registry.registerBeanDefinition("jobRegistrySmartInitializingSingleton",
beanDefinitionBuilder.getBeanDefinition());
@@ -252,10 +262,10 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
String transactionManagerRef = batchAnnotation.transactionManagerRef();
beanDefinitionBuilder.addPropertyReference("transactionManager", transactionManagerRef);
beanDefinitionBuilder.addPropertyReference("jobRepository", "jobRepository");
beanDefinitionBuilder.addPropertyReference("jobLauncher", "jobLauncher");
beanDefinitionBuilder.addPropertyReference("jobExplorer", "jobExplorer");
beanDefinitionBuilder.addPropertyReference("jobRegistry", "jobRegistry");
beanDefinitionBuilder.addPropertyReference(JOB_REPOSITORY, JOB_REPOSITORY);
beanDefinitionBuilder.addPropertyReference(JOB_LAUNCHER, JOB_LAUNCHER);
beanDefinitionBuilder.addPropertyReference(JOB_EXPLORER, JOB_EXPLORER);
beanDefinitionBuilder.addPropertyReference(JOB_REGISTRY, JOB_REGISTRY);
// set optional properties
String jobParametersConverterRef = batchAnnotation.jobParametersConverterRef();
@@ -276,12 +286,12 @@ class BatchRegistrar implements ImportBeanDefinitionRegistrar {
return;
}
BeanDefinition jobLoaderBeanDefinition = BeanDefinitionBuilder.genericBeanDefinition(DefaultJobLoader.class)
.addPropertyReference("jobRegistry", "jobRegistry")
.addPropertyReference(JOB_REGISTRY, JOB_REGISTRY)
.getBeanDefinition();
registry.registerBeanDefinition("jobLoader", jobLoaderBeanDefinition);
registry.registerBeanDefinition(JOB_LOADER, jobLoaderBeanDefinition);
BeanDefinition jobRegistrarBeanDefinition = BeanDefinitionBuilder
.genericBeanDefinition(AutomaticJobRegistrar.class)
.addPropertyReference("jobLoader", "jobLoader")
.addPropertyReference(JOB_LOADER, JOB_LOADER)
.getBeanDefinition();
registry.registerBeanDefinition("jobRegistrar", jobRegistrarBeanDefinition);
}