Java 类org.springframework.batch.core.launch.JobParametersNotFoundException 实例源码

项目:spring-boot-starter-batch-web    文件:JobOperationsController.java   
private JobParameters createJobParametersWithIncrementerIfAvailable(String parameters, Job job) throws JobParametersNotFoundException {
    JobParameters jobParameters = jobParametersConverter.getJobParameters(PropertiesConverter.stringToProperties(parameters));
    // use JobParametersIncrementer to create JobParameters if incrementer is set and only if the job is no restart
    if (job.getJobParametersIncrementer() != null){
        JobExecution lastJobExecution = jobRepository.getLastJobExecution(job.getName(), jobParameters);
        boolean restart = false;
        // check if job failed before
        if (lastJobExecution != null) {
            BatchStatus status = lastJobExecution.getStatus();
            if (status.isUnsuccessful() && status != BatchStatus.ABANDONED) {
                restart = true;
            }
        }
        // if it's not a restart, create new JobParameters with the incrementer
        if (!restart) {
            JobParameters nextParameters = getNextJobParameters(job);
            Map<String, JobParameter> map = new HashMap<String, JobParameter>(nextParameters.getParameters());
            map.putAll(jobParameters.getParameters());
            jobParameters = new JobParameters(map);
        }
    }
    return jobParameters;
}
项目:spring-boot-starter-batch-web    文件:JobOperationsController.java   
/**
 * Borrowed from CommandLineJobRunner.
 * @param job the job that we need to find the next parameters for
 * @return the next job parameters if they can be located
 * @throws JobParametersNotFoundException if there is a problem
 */
private JobParameters getNextJobParameters(Job job) throws JobParametersNotFoundException {
    String jobIdentifier = job.getName();
    JobParameters jobParameters;
    List<JobInstance> lastInstances = jobExplorer.getJobInstances(jobIdentifier, 0, 1);

    JobParametersIncrementer incrementer = job.getJobParametersIncrementer();

    if (lastInstances.isEmpty()) {
        jobParameters = incrementer.getNext(new JobParameters());
        if (jobParameters == null) {
            throw new JobParametersNotFoundException("No bootstrap parameters found from incrementer for job="
                    + jobIdentifier);
        }
    }
    else {
        List<JobExecution> lastExecutions = jobExplorer.getJobExecutions(lastInstances.get(0));
        jobParameters = incrementer.getNext(lastExecutions.get(0).getJobParameters());
    }
    return jobParameters;
}
项目:egovframework.rte.root    文件:EgovCommandLineRunner.java   
/**
 * 다음 실행 될 Batch Job의 Job Parameter를 생성한다.
 * 
 * @param job
 * @return JobParameters
 * @throws JobParametersNotFoundException 
 */
private JobParameters getNextJobParameters(Job job) throws JobParametersNotFoundException {
    String jobIdentifier = job.getName();
    JobParameters jobParameters;
    List<JobInstance> lastInstances = jobExplorer.getJobInstances(jobIdentifier, 0, 1);

    JobParametersIncrementer incrementer = job.getJobParametersIncrementer();
    if (incrementer == null) {
        throw new JobParametersNotFoundException("No job parameters incrementer found for job=" + jobIdentifier);
    }

    if (lastInstances.isEmpty()) {
        jobParameters = incrementer.getNext(new JobParameters());
        if (jobParameters == null) {
            throw new JobParametersNotFoundException("No bootstrap parameters found from incrementer for job="
                    + jobIdentifier);
        }
    }
    else {
        jobParameters = incrementer.getNext(lastInstances.get(0).getJobParameters());
    }
    return jobParameters;
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:JobLauncherCommandLineRunner.java   
protected void execute(Job job, JobParameters jobParameters)
        throws JobExecutionAlreadyRunningException, JobRestartException,
        JobInstanceAlreadyCompleteException, JobParametersInvalidException,
        JobParametersNotFoundException {
    JobParameters nextParameters = getNextJobParameters(job, jobParameters);
    if (nextParameters != null) {
        JobExecution execution = this.jobLauncher.run(job, nextParameters);
        if (this.publisher != null) {
            this.publisher.publishEvent(new JobExecutionEvent(execution));
        }
    }
}
项目:spring-boot-concourse    文件:JobLauncherCommandLineRunner.java   
protected void execute(Job job, JobParameters jobParameters)
        throws JobExecutionAlreadyRunningException, JobRestartException,
        JobInstanceAlreadyCompleteException, JobParametersInvalidException,
        JobParametersNotFoundException {
    JobParameters nextParameters = getNextJobParameters(job, jobParameters);
    if (nextParameters != null) {
        JobExecution execution = this.jobLauncher.run(job, nextParameters);
        if (this.publisher != null) {
            this.publisher.publishEvent(new JobExecutionEvent(execution));
        }
    }
}
项目:contestparser    文件:JobLauncherCommandLineRunner.java   
protected void execute(Job job, JobParameters jobParameters)
        throws JobExecutionAlreadyRunningException, JobRestartException,
        JobInstanceAlreadyCompleteException, JobParametersInvalidException,
        JobParametersNotFoundException {
    JobParameters nextParameters = getNextJobParameters(job, jobParameters);
    if (nextParameters != null) {
        JobExecution execution = this.jobLauncher.run(job, nextParameters);
        if (this.publisher != null) {
            this.publisher.publishEvent(new JobExecutionEvent(execution));
        }
    }
}
项目:spring-batch-tools    文件:BatchOperatorImpl.java   
/**
 * Merges the job's default parameters with the given input parameters. Input parameters override default parameters.
 *
 * @param inputParameter
 *            the input parameters, may be <code>null</code>.
 */
private JobParameters createJobParameters(final String jobName, final JobParameters inputParameter) throws NoSuchJobException,
        JobParametersNotFoundException {
    final JobParameters params = getNextJobParameters(jobName);
    return Optional.ofNullable(inputParameter).map(customParams -> {
        final JobParametersBuilder builder = new JobParametersBuilder(params);
        customParams.getParameters().forEach((key, value) -> builder.addParameter(key, value));
        return builder.toJobParameters();
    }).orElse(params);
}
项目:spring-batch-tools    文件:BatchOperatorImpl.java   
private JobParameters getNextJobParameters(final String jobName) throws NoSuchJobException, JobParametersNotFoundException {
    final Job job = jobRegistry.getJob(jobName);
    final JobParametersIncrementer incrementer = Optional.ofNullable(job.getJobParametersIncrementer()).orElseThrow(
            () -> new JobParametersNotFoundException("No job parameters incrementer found for job " + jobName));

    return getNextJobParameters(jobName, incrementer);
}
项目:spring-batch-tools    文件:BatchOperatorImpl.java   
private JobParameters getNextJobParameters(final String jobName, final JobParametersIncrementer incrementer)
        throws JobParametersNotFoundException {
    final JobParameters previousParameters = jobExplorer.getJobInstances(jobName, 0, 1).stream().findFirst()
            .flatMap(instance -> jobExplorer.getJobExecutions(instance).stream().findFirst()).map(JobExecution::getJobParameters)
            .orElseGet(JobParameters::new);

    return Optional.ofNullable(incrementer.getNext(previousParameters)).orElseThrow(
            () -> new JobParametersNotFoundException("No bootstrap parameters found for job " + jobName));
}
项目:spring-batch-tools    文件:BatchOperatorImplTest.java   
@Test(expected = JobParametersNotFoundException.class)
public void incrementerReturnsNullThrows() throws Exception {
    when(jobParametersIncrementer.getNext(Matchers.any(JobParameters.class))).thenReturn(null);
    batchOperator.start(JOB_NAME, null);
}
项目:spring-batch-tools    文件:BatchOperatorImplTest.java   
@Test(expected = JobParametersNotFoundException.class)
public void startJobWithoutIncrementerThrows() throws Exception {
    when(job.getJobParametersIncrementer()).thenReturn(null);
    batchOperator.start(JOB_NAME, null);
}
项目:spring-boot-starter-batch-web    文件:JobOperationsController.java   
@ResponseStatus(HttpStatus.NOT_FOUND)
@ExceptionHandler(JobParametersNotFoundException.class)
public String handleNoBootstrapParametersCreatedByIncrementer(Exception ex) {
    LOG.warn("JobParametersIncrementer didn't provide bootstrap parameters.",ex);
    return ex.getMessage();
}