Update JobLauncherApplicationRunner to use getIdentifyingParameters

See gh-38327
This commit is contained in:
Lars Uffmann 2023-11-11 09:15:22 +01:00 committed by Moritz Halbritter
parent 4d21760fd6
commit adb841c45e

View File

@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.batch;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
@ -230,7 +229,8 @@ public class JobLauncherApplicationRunner
private JobParameters getNextJobParametersForExisting(Job job, JobParameters jobParameters) {
JobExecution lastExecution = this.jobRepository.getLastJobExecution(job.getName(), jobParameters);
if (isStoppedOrFailed(lastExecution) && job.isRestartable()) {
JobParameters previousIdentifyingParameters = getGetIdentifying(lastExecution.getJobParameters());
JobParameters previousIdentifyingParameters = new JobParameters(
lastExecution.getJobParameters().getIdentifyingParameters());
return merge(previousIdentifyingParameters, jobParameters);
}
return jobParameters;
@ -241,16 +241,6 @@ public class JobLauncherApplicationRunner
return (status == BatchStatus.STOPPED || status == BatchStatus.FAILED);
}
private JobParameters getGetIdentifying(JobParameters parameters) {
HashMap<String, JobParameter<?>> nonIdentifying = new LinkedHashMap<>(parameters.getParameters().size());
parameters.getParameters().forEach((key, value) -> {
if (value.isIdentifying()) {
nonIdentifying.put(key, value);
}
});
return new JobParameters(nonIdentifying);
}
private JobParameters merge(JobParameters parameters, JobParameters additionals) {
Map<String, JobParameter<?>> merged = new LinkedHashMap<>();
merged.putAll(parameters.getParameters());