Skip to content

Commit dc29941

Browse files
committed
Update SCT to use Spring Batch 6.x
* Update package names * Update tests to use the JDBCJobRegistry * Resolve Test Failures * Temporarily disable failing batch test * Remove the Remote Step Execution (Deprecated) feature
1 parent a31472e commit dc29941

File tree

74 files changed

+294
-3871
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+294
-3871
lines changed

spring-cloud-starter-single-step-batch-job/src/main/java/org/springframework/cloud/task/batch/autoconfigure/SingleStepJobAutoConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818

1919
import java.util.Map;
2020

21-
import org.springframework.batch.core.Job;
22-
import org.springframework.batch.core.Step;
21+
import org.springframework.batch.core.job.Job;
2322
import org.springframework.batch.core.job.builder.JobBuilder;
2423
import org.springframework.batch.core.repository.JobRepository;
24+
import org.springframework.batch.core.step.Step;
2525
import org.springframework.batch.core.step.builder.SimpleStepBuilder;
2626
import org.springframework.batch.core.step.builder.StepBuilder;
2727
import org.springframework.batch.item.ItemProcessor;

spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/SingleStepJobAutoConfigurationTests.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323

2424
import org.junit.jupiter.api.Test;
2525

26-
import org.springframework.batch.core.Job;
27-
import org.springframework.batch.core.JobExecution;
28-
import org.springframework.batch.core.JobParameters;
29-
import org.springframework.batch.core.explore.JobExplorer;
30-
import org.springframework.batch.core.launch.JobLauncher;
26+
import org.springframework.batch.core.job.Job;
27+
import org.springframework.batch.core.job.JobExecution;
28+
import org.springframework.batch.core.job.parameters.JobParameters;
29+
import org.springframework.batch.core.launch.JobOperator;
30+
import org.springframework.batch.core.repository.JobRepository;
3131
import org.springframework.batch.item.support.ListItemReader;
3232
import org.springframework.batch.item.support.ListItemWriter;
3333
import org.springframework.batch.support.transaction.ResourcelessTransactionManager;
@@ -129,17 +129,17 @@ public void testSimpleConfigurationKabobStyle() {
129129

130130
private void validateConfiguration(ApplicationContextRunner applicationContextRunner) {
131131
applicationContextRunner.run((context) -> {
132-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
132+
JobOperator jobOperator = context.getBean(JobOperator.class);
133133

134134
Job job = context.getBean(Job.class);
135135

136136
ListItemWriter itemWriter = context.getBean(ListItemWriter.class);
137137

138-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
138+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
139139

140-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
140+
JobRepository jobRepository = context.getBean(JobRepository.class);
141141

142-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
142+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
143143
Thread.sleep(1000);
144144
}
145145

spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/flatfile/FlatFileItemReaderAutoConfigurationTests.java

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323

2424
import org.junit.jupiter.api.Test;
2525

26-
import org.springframework.batch.core.Job;
27-
import org.springframework.batch.core.JobExecution;
28-
import org.springframework.batch.core.JobParameters;
29-
import org.springframework.batch.core.explore.JobExplorer;
30-
import org.springframework.batch.core.launch.JobLauncher;
26+
import org.springframework.batch.core.job.Job;
27+
import org.springframework.batch.core.job.JobExecution;
28+
import org.springframework.batch.core.job.parameters.JobParameters;
29+
import org.springframework.batch.core.launch.JobOperator;
30+
import org.springframework.batch.core.repository.JobRepository;
3131
import org.springframework.batch.item.file.LineCallbackHandler;
3232
import org.springframework.batch.item.file.LineMapper;
3333
import org.springframework.batch.item.file.mapping.FieldSetMapper;
@@ -98,17 +98,17 @@ public void testFullDelimitedConfiguration() {
9898
"spring.batch.job.flatfileitemreader.parsingStrict=false");
9999

100100
applicationContextRunner.run((context) -> {
101-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
101+
JobOperator jobOperator = context.getBean(JobOperator.class);
102102

103103
Job job = context.getBean(Job.class);
104104

105105
ListItemWriter itemWriter = context.getBean(ListItemWriter.class);
106106

107-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
107+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
108108

109-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
109+
JobRepository jobRepository = context.getBean(JobRepository.class);
110110

111-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
111+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
112112
Thread.sleep(1000);
113113
}
114114

@@ -146,17 +146,17 @@ public void testFixedWidthConfiguration() {
146146
"spring.batch.job.flatfileitemreader.parsingStrict=false");
147147

148148
applicationContextRunner.run((context) -> {
149-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
149+
JobOperator jobOperator = context.getBean(JobOperator.class);
150150

151151
Job job = context.getBean(Job.class);
152152

153153
ListItemWriter itemWriter = context.getBean(ListItemWriter.class);
154154

155-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
155+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
156156

157-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
157+
JobRepository jobRepository = context.getBean(JobRepository.class);
158158

159-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
159+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
160160
Thread.sleep(1000);
161161
}
162162

@@ -197,17 +197,17 @@ public void testCustomLineMapper() {
197197
"spring.batch.job.flatfileitemreader.strict=true");
198198

199199
applicationContextRunner.run((context) -> {
200-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
200+
JobOperator jobOperator = context.getBean(JobOperator.class);
201201

202202
Job job = context.getBean(Job.class);
203203

204204
ListItemWriter itemWriter = context.getBean(ListItemWriter.class);
205205

206-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
206+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
207207

208-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
208+
JobRepository jobRepository = context.getBean(JobRepository.class);
209209

210-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
210+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
211211
Thread.sleep(1000);
212212
}
213213

@@ -237,17 +237,17 @@ public void testCustomRecordSeparatorAndSkippedLines() {
237237
"spring.batch.job.flatfileitemreader.strict=true");
238238

239239
applicationContextRunner.run((context) -> {
240-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
240+
JobOperator jobOperator = context.getBean(JobOperator.class);
241241

242242
Job job = context.getBean(Job.class);
243243

244244
ListItemWriter itemWriter = context.getBean(ListItemWriter.class);
245245

246-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
246+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
247247

248-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
248+
JobRepository jobRepository = context.getBean(JobRepository.class);
249249

250-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
250+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
251251
Thread.sleep(1000);
252252
}
253253

@@ -275,17 +275,17 @@ public void testCustomMapping() {
275275
"spring.batch.job.flatfileitemreader.strict=true");
276276

277277
applicationContextRunner.run((context) -> {
278-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
278+
JobOperator jobOperator = context.getBean(JobOperator.class);
279279

280280
Job job = context.getBean(Job.class);
281281

282282
ListItemWriter itemWriter = context.getBean(ListItemWriter.class);
283283

284-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
284+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
285285

286-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
286+
JobRepository jobRepository = context.getBean(JobRepository.class);
287287

288-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
288+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
289289
Thread.sleep(1000);
290290
}
291291

spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/flatfile/FlatFileItemWriterAutoConfigurationTests.java

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@
2929
import org.junit.jupiter.api.BeforeEach;
3030
import org.junit.jupiter.api.Test;
3131

32-
import org.springframework.batch.core.Job;
33-
import org.springframework.batch.core.JobExecution;
34-
import org.springframework.batch.core.JobParameters;
35-
import org.springframework.batch.core.explore.JobExplorer;
36-
import org.springframework.batch.core.launch.JobLauncher;
32+
import org.springframework.batch.core.job.Job;
33+
import org.springframework.batch.core.job.JobExecution;
34+
import org.springframework.batch.core.job.parameters.JobParameters;
35+
import org.springframework.batch.core.launch.JobOperator;
36+
import org.springframework.batch.core.repository.JobRepository;
3737
import org.springframework.batch.item.file.FlatFileFooterCallback;
3838
import org.springframework.batch.item.file.FlatFileHeaderCallback;
3939
import org.springframework.batch.item.file.FlatFileItemWriter;
@@ -152,15 +152,15 @@ public void testDelimitedFileGeneration() {
152152
"spring.batch.job.flatfileitemwriter.transactional=false");
153153

154154
applicationContextRunner.run((context) -> {
155-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
155+
JobOperator jobOperator = context.getBean(JobOperator.class);
156156

157157
Job job = context.getBean(Job.class);
158158

159-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
159+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
160160

161-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
161+
JobRepository jobRepository = context.getBean(JobRepository.class);
162162

163-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
163+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
164164
Thread.sleep(1000);
165165
}
166166

@@ -197,15 +197,15 @@ public void testFormattedFileGeneration() {
197197
"spring.batch.job.flatfileitemwriter.maximumLength=10");
198198

199199
applicationContextRunner.run((context) -> {
200-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
200+
JobOperator jobOperator = context.getBean(JobOperator.class);
201201

202202
Job job = context.getBean(Job.class);
203203

204-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
204+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
205205

206-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
206+
JobRepository jobRepository = context.getBean(JobRepository.class);
207207

208-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
208+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
209209
Thread.sleep(1000);
210210
}
211211

@@ -234,15 +234,15 @@ public void testFormattedFieldExtractorFileGeneration() {
234234
"spring.batch.job.flatfileitemwriter.format=item = %s");
235235

236236
applicationContextRunner.run((context) -> {
237-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
237+
JobOperator jobOperator = context.getBean(JobOperator.class);
238238

239239
Job job = context.getBean(Job.class);
240240

241-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
241+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
242242

243-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
243+
JobRepository jobRepository = context.getBean(JobRepository.class);
244244

245-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
245+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
246246
Thread.sleep(1000);
247247
}
248248

@@ -269,15 +269,15 @@ public void testFieldExtractorFileGeneration() {
269269
"spring.batch.job.flatfileitemwriter.delimited=true");
270270

271271
applicationContextRunner.run((context) -> {
272-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
272+
JobOperator jobOperator = context.getBean(JobOperator.class);
273273

274274
Job job = context.getBean(Job.class);
275275

276-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
276+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
277277

278-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
278+
JobRepository jobRepository = context.getBean(JobRepository.class);
279279

280-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
280+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
281281
Thread.sleep(1000);
282282
}
283283

@@ -303,15 +303,15 @@ public void testCustomLineAggregatorFileGeneration() {
303303
"spring.batch.job.flatfileitemwriter.encoding=UTF-8");
304304

305305
applicationContextRunner.run((context) -> {
306-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
306+
JobOperator jobOperator = context.getBean(JobOperator.class);
307307

308308
Job job = context.getBean(Job.class);
309309

310-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
310+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
311311

312-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
312+
JobRepository jobRepository = context.getBean(JobRepository.class);
313313

314-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
314+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
315315
Thread.sleep(1000);
316316
}
317317

@@ -339,15 +339,15 @@ public void testHeaderFooterFileGeneration() {
339339
"spring.batch.job.flatfileitemwriter.names=item");
340340

341341
applicationContextRunner.run((context) -> {
342-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
342+
JobOperator jobOperator = context.getBean(JobOperator.class);
343343

344344
Job job = context.getBean(Job.class);
345345

346-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
346+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
347347

348-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
348+
JobRepository jobRepository = context.getBean(JobRepository.class);
349349

350-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
350+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
351351
Thread.sleep(1000);
352352
}
353353

spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcBatchItemWriterAutoConfigurationTests.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030
import org.junit.jupiter.api.AfterEach;
3131
import org.junit.jupiter.api.Test;
3232

33-
import org.springframework.batch.core.Job;
34-
import org.springframework.batch.core.JobExecution;
35-
import org.springframework.batch.core.JobParameters;
36-
import org.springframework.batch.core.explore.JobExplorer;
37-
import org.springframework.batch.core.launch.JobLauncher;
33+
import org.springframework.batch.core.job.Job;
34+
import org.springframework.batch.core.job.JobExecution;
35+
import org.springframework.batch.core.job.parameters.JobParameters;
36+
import org.springframework.batch.core.launch.JobOperator;
37+
import org.springframework.batch.core.repository.JobRepository;
3838
import org.springframework.batch.item.database.ItemPreparedStatementSetter;
3939
import org.springframework.batch.item.database.ItemSqlParameterSourceProvider;
4040
import org.springframework.batch.item.database.JdbcBatchItemWriter;
@@ -203,15 +203,14 @@ private void validateResultAndBean(ApplicationContext context, boolean isWriterD
203203

204204
private void runTest(ApplicationContextRunner applicationContextRunner, boolean isWriterDataSourcePresent) {
205205
applicationContextRunner.run((context) -> {
206-
JobLauncher jobLauncher = context.getBean(JobLauncher.class);
207-
206+
JobOperator jobOperator = context.getBean(JobOperator.class);
208207
Job job = context.getBean(Job.class);
209208

210-
JobExecution jobExecution = jobLauncher.run(job, new JobParameters());
209+
JobExecution jobExecution = jobOperator.start(job, new JobParameters());
211210

212-
JobExplorer jobExplorer = context.getBean(JobExplorer.class);
211+
JobRepository jobRepository = context.getBean(JobRepository.class);
213212

214-
while (jobExplorer.getJobExecution(jobExecution.getJobId()).isRunning()) {
213+
while (jobRepository.getJobExecution(jobExecution.getJobId()).isRunning()) {
215214
Thread.sleep(1000);
216215
}
217216

0 commit comments

Comments
 (0)