|
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