|
22 | 22 |
|
23 | 23 | import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
|
24 | 24 | import org.springframework.batch.core.configuration.support.DefaultBatchConfiguration;
|
| 25 | +import org.springframework.batch.core.converter.JobParametersConverter; |
25 | 26 | import org.springframework.batch.core.explore.JobExplorer;
|
26 | 27 | import org.springframework.batch.core.launch.JobLauncher;
|
27 | 28 | import org.springframework.batch.core.repository.ExecutionContextSerializer;
|
@@ -111,18 +112,22 @@ static class SpringBootBatchConfiguration extends DefaultBatchConfiguration {
|
111 | 112 |
|
112 | 113 | private final ExecutionContextSerializer executionContextSerializer;
|
113 | 114 |
|
| 115 | + private final JobParametersConverter jobParametersConverter; |
| 116 | + |
114 | 117 | SpringBootBatchConfiguration(DataSource dataSource, @BatchDataSource ObjectProvider<DataSource> batchDataSource,
|
115 | 118 | PlatformTransactionManager transactionManager,
|
116 | 119 | @BatchTransactionManager ObjectProvider<PlatformTransactionManager> batchTransactionManager,
|
117 | 120 | @BatchTaskExecutor ObjectProvider<TaskExecutor> batchTaskExecutor, BatchProperties properties,
|
118 | 121 | ObjectProvider<BatchConversionServiceCustomizer> batchConversionServiceCustomizers,
|
119 |
| - ObjectProvider<ExecutionContextSerializer> executionContextSerializer) { |
| 122 | + ObjectProvider<ExecutionContextSerializer> executionContextSerializer, |
| 123 | + ObjectProvider<JobParametersConverter> jobParametersConverter) { |
120 | 124 | this.dataSource = batchDataSource.getIfAvailable(() -> dataSource);
|
121 | 125 | this.transactionManager = batchTransactionManager.getIfAvailable(() -> transactionManager);
|
122 | 126 | this.taskExector = batchTaskExecutor.getIfAvailable();
|
123 | 127 | this.properties = properties;
|
124 | 128 | this.batchConversionServiceCustomizers = batchConversionServiceCustomizers.orderedStream().toList();
|
125 | 129 | this.executionContextSerializer = executionContextSerializer.getIfAvailable();
|
| 130 | + this.jobParametersConverter = jobParametersConverter.getIfAvailable(); |
126 | 131 | }
|
127 | 132 |
|
128 | 133 | @Override
|
@@ -167,6 +172,12 @@ protected ExecutionContextSerializer getExecutionContextSerializer() {
|
167 | 172 | : super.getExecutionContextSerializer();
|
168 | 173 | }
|
169 | 174 |
|
| 175 | + @Override |
| 176 | + protected JobParametersConverter getJobParametersConverter() { |
| 177 | + return (this.jobParametersConverter != null) ? this.jobParametersConverter |
| 178 | + : super.getJobParametersConverter(); |
| 179 | + } |
| 180 | + |
170 | 181 | @Override
|
171 | 182 | protected TaskExecutor getTaskExecutor() {
|
172 | 183 | return (this.taskExector != null) ? this.taskExector : super.getTaskExecutor();
|
|
0 commit comments