Package org.springframework.batch.core.launch

# Interface JobLauncher

All Known Implementing Classes:
  `SimpleJobLauncher`

public interface JobLauncher
Simple interface for controlling jobs, including possible ad-hoc executions, based on different runtime identifiers. It is extremely important to note that this interface makes absolutely no guarantees about whether or not calls to it are executed synchronously or asynchronously. The javadocs for specific implementations should be checked to ensure callers fully understand how the job will be run.

Author:
  Lucas Ward, Dave Syer

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JobExecution`
  `run(Job job, JobParameters jobParameters)`
  Start a job execution for the given `Job` and `JobParameters` .

- ## Method Details

  - ### run

    JobExecution run(Job job, JobParameters jobParameters) throws JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException, JobParametersInvalidException
    Start a job execution for the given `Job` and `JobParameters` . If a `JobExecution` was able to be created successfully, it will always be returned by this method, regardless of whether or not the execution was successful. If there is a past `JobExecution` which has paused, the same `JobExecution` is returned instead of a new one created. A exception will only be thrown if there is a failure to start the job. If the job encounters some error while processing, the JobExecution will be returned, and the status will need to be inspected.
    Parameters:
      `job` - the job to be executed.
      `jobParameters` - the parameters passed to this execution of the job.
    Returns:
      the `JobExecution` if it returns synchronously. If the implementation is asynchronous, the status might well be unknown.
    Throws:
      `JobExecutionAlreadyRunningException` - if the JobInstance identified by the properties already has an execution running.
      `IllegalArgumentException` - if the job or jobInstanceProperties are null.
      `JobRestartException` - if the job has been run before and circumstances that preclude a re-start.
      `JobInstanceAlreadyCompleteException` - if the job has been run before with the same parameters and completed successfully
      `JobParametersInvalidException` - if the parameters are not valid for this job