Merge pull request #39911 from izeye

* pr/39911:
  Delegate getExecutionContextSerializer() to DefaultBatchConfiguration if not provided

Closes gh-39911
This commit is contained in:
Scott Frederick 2024-03-12 16:40:49 -05:00
commit 1a907bf47e
1 changed files with 3 additions and 4 deletions

View File

@ -26,7 +26,6 @@ import org.springframework.batch.core.explore.JobExplorer;
import org.springframework.batch.core.launch.JobLauncher; import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.batch.core.repository.ExecutionContextSerializer; import org.springframework.batch.core.repository.ExecutionContextSerializer;
import org.springframework.batch.core.repository.JobRepository; import org.springframework.batch.core.repository.JobRepository;
import org.springframework.batch.core.repository.dao.DefaultExecutionContextSerializer;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.ExitCodeGenerator; import org.springframework.boot.ExitCodeGenerator;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
@ -118,8 +117,7 @@ public class BatchAutoConfiguration {
this.transactionManager = batchTransactionManager.getIfAvailable(() -> transactionManager); this.transactionManager = batchTransactionManager.getIfAvailable(() -> transactionManager);
this.properties = properties; this.properties = properties;
this.batchConversionServiceCustomizers = batchConversionServiceCustomizers.orderedStream().toList(); this.batchConversionServiceCustomizers = batchConversionServiceCustomizers.orderedStream().toList();
this.executionContextSerializer = executionContextSerializer this.executionContextSerializer = executionContextSerializer.getIfAvailable();
.getIfAvailable(DefaultExecutionContextSerializer::new);
} }
@Override @Override
@ -155,7 +153,8 @@ public class BatchAutoConfiguration {
@Override @Override
protected ExecutionContextSerializer getExecutionContextSerializer() { protected ExecutionContextSerializer getExecutionContextSerializer() {
return this.executionContextSerializer; return (this.executionContextSerializer != null) ? this.executionContextSerializer
: super.getExecutionContextSerializer();
} }
} }