@@ -0,0 +1,1524 @@
+package org.springframework.batch.core.step.job;%0A%0Aimport org.springframework.batch.core.Job;%0Aimport org.springframework.batch.core.JobParameters;%0Aimport org.springframework.batch.core.JobParametersIncrementer;%0Aimport org.springframework.batch.core.StepExecution;%0Aimport org.springframework.batch.core.step.job.JobParametersExtractor;%0A%0A/**%0A * You can extract a parameter via a %7B@link JobParametersIncrementer%7D.%0A * It's useful in case of nested Job injected into a partition to generate%0A * a unique %7B@code JobInstance%7D.%0A * %3Cp%3E%0A *%0A *     %3Ci%3EExample%3C/i%3E:%0A * %3Cpre%3E%0A * %7B@code%0A *%0A * %3Cjob id=%22mainJob%22%3E%0A *      %3Cstep id=%22step1%22%3E%0A *           %3Cpartition partitioner=%22partitioner%22%3E%0A *                %3Chandler task-executor=%22taskExecutor%22/%3E%0A *                %3Cstep%3E%0A *                     %3Cjob job-parameters-extractor=%22jobParametersIncrementerJobParameterExtractor%22%0A *                          ref=%22nestedJob%22/%3E%0A *                %3C/step%3E%0A *           %3C/partition%3E%0A *      %3C/step%3E%0A * %3C/job%3E%0A * %7D%0A * %3C/pre%3E%0A *%0A * @author Almex%0A */%0Apublic class JobParametersIncrementerJobParametersExtractor implements JobParametersExtractor %7B%0A%0A    private JobParametersIncrementer jobParametersIncrementer;%0A%0A    @Override%0A    public JobParameters getJobParameters(Job job, StepExecution stepExecution) %7B%0A        return jobParametersIncrementer.getNext(new JobParameters());%0A    %7D%0A%0A    public void setJobParametersIncrementer(JobParametersIncrementer jobParametersIncrementer) %7B%0A        this.jobParametersIncrementer = jobParametersIncrementer;%0A    %7D%0A%7D%0A

Create JobParametersIncrementerJobParametersExtractor.java