Class JobLauncherTestUtils
- Direct Known Subclasses:
JobOperatorTestUtils
Utility class for testing batch jobs. It provides methods for launching an entire
AbstractJob, allowing for end to end testing of individual steps, without
having to run every step in the job. Any test classes using this utility can set up an
instance in the ApplicationContext as part of the Spring test framework.
This class also provides the ability to run Steps from a FlowJob or
SimpleJob individually. By launching Steps within a Job on
their own, end to end testing of individual steps can be performed without having to
run every step in the job.
It should be noted that using any of the methods that don't contain
JobParameters in their signature, will result in one being created with a
random number of type long as a parameter with the name batch.random.
This will ensure restartability when no parameters are provided.
- Since:
- 2.1
- Author:
- Lucas Ward, Dan Garrette, Dave Syer, Mahmoud Ben Hassine
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.batch.core.job.JobDeprecated, for removal: This API element is subject to removal in a future version.protected org.springframework.batch.core.launch.JobLauncherDeprecated, for removal: This API element is subject to removal in a future version.protected org.springframework.batch.core.repository.JobRepositoryDeprecated, for removal: This API element is subject to removal in a future version.protected final org.apache.commons.logging.LogDeprecated, for removal: This API element is subject to removal in a future version.Loggerprotected final SecureRandomDeprecated, for removal: This API element is subject to removal in a future version.protected StepRunnerDeprecated, for removal: This API element is subject to removal in a future version. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.batch.core.job.JobgetJob()Deprecated, for removal: This API element is subject to removal in a future version.org.springframework.batch.core.launch.JobLauncherDeprecated, for removal: This API element is subject to removal in a future version.org.springframework.batch.core.repository.JobRepositoryDeprecated, for removal: This API element is subject to removal in a future version.protected StepRunnerDeprecated, for removal: This API element is subject to removal in a future version.Convenient method for subclasses to grab aStepRunnerfor running steps by name.org.springframework.batch.core.job.parameters.JobParametersDeprecated, for removal: This API element is subject to removal in a future version.org.springframework.batch.core.job.parameters.JobParametersBuilderDeprecated, for removal: This API element is subject to removal in a future version.org.springframework.batch.core.job.JobExecutionDeprecated, for removal: This API element is subject to removal in a future version.Since 6.0 in favor ofJobOperatorTestUtils.startJob().org.springframework.batch.core.job.JobExecutionlaunchJob(org.springframework.batch.core.job.parameters.JobParameters jobParameters) Deprecated, for removal: This API element is subject to removal in a future version.Since 6.0 in favor ofJobOperatorTestUtils.startJob(JobParameters).org.springframework.batch.core.job.JobExecutionlaunchStep(String stepName) Deprecated, for removal: This API element is subject to removal in a future version.Since 6.0 in favor ofJobOperatorTestUtils.startStep(String).org.springframework.batch.core.job.JobExecutionlaunchStep(String stepName, org.springframework.batch.core.job.parameters.JobParameters jobParameters) Deprecated, for removal: This API element is subject to removal in a future version.Launch just the specified step in a surrounding single-step job of typeSimpleJobnamedStepRunner.JOB_NAME.org.springframework.batch.core.job.JobExecutionlaunchStep(String stepName, org.springframework.batch.core.job.parameters.JobParameters jobParameters, @Nullable org.springframework.batch.infrastructure.item.ExecutionContext jobExecutionContext) Deprecated, for removal: This API element is subject to removal in a future version.Since 6.0 in favor ofJobOperatorTestUtils.startStep(String, JobParameters, ExecutionContext).org.springframework.batch.core.job.JobExecutionlaunchStep(String stepName, org.springframework.batch.infrastructure.item.ExecutionContext jobExecutionContext) Deprecated, for removal: This API element is subject to removal in a future version.Launch just the specified step in a surrounding single-step job of typeSimpleJobnamedStepRunner.JOB_NAME.voidsetJob(org.springframework.batch.core.job.Job job) Deprecated, for removal: This API element is subject to removal in a future version.The Job instance that can be manipulated (e.g. launched) in this utility.voidsetJobLauncher(org.springframework.batch.core.launch.JobLauncher jobLauncher) Deprecated, for removal: This API element is subject to removal in a future version.AJobLauncherinstance that can be used to launch jobs.voidsetJobRepository(org.springframework.batch.core.repository.JobRepository jobRepository) Deprecated, for removal: This API element is subject to removal in a future version.TheJobRepositoryto use for creating newJobExecutioninstances.
-
Field Details
-
secureRandom
Deprecated, for removal: This API element is subject to removal in a future version. -
logger
protected final org.apache.commons.logging.Log loggerDeprecated, for removal: This API element is subject to removal in a future version.Logger -
jobLauncher
protected org.springframework.batch.core.launch.JobLauncher jobLauncherDeprecated, for removal: This API element is subject to removal in a future version. -
job
protected org.springframework.batch.core.job.Job jobDeprecated, for removal: This API element is subject to removal in a future version. -
jobRepository
protected org.springframework.batch.core.repository.JobRepository jobRepositoryDeprecated, for removal: This API element is subject to removal in a future version. -
stepRunner
Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Constructor Details
-
JobLauncherTestUtils
public JobLauncherTestUtils()Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Method Details
-
setJob
public void setJob(org.springframework.batch.core.job.Job job) Deprecated, for removal: This API element is subject to removal in a future version.The Job instance that can be manipulated (e.g. launched) in this utility.- Parameters:
job- theAbstractJobto use
-
setJobRepository
public void setJobRepository(org.springframework.batch.core.repository.JobRepository jobRepository) Deprecated, for removal: This API element is subject to removal in a future version.TheJobRepositoryto use for creating newJobExecutioninstances.- Parameters:
jobRepository- aJobRepository
-
getJobRepository
public org.springframework.batch.core.repository.JobRepository getJobRepository()Deprecated, for removal: This API element is subject to removal in a future version.- Returns:
- the job repository
-
getJob
public org.springframework.batch.core.job.Job getJob()Deprecated, for removal: This API element is subject to removal in a future version.- Returns:
- the job
-
setJobLauncher
public void setJobLauncher(org.springframework.batch.core.launch.JobLauncher jobLauncher) Deprecated, for removal: This API element is subject to removal in a future version.AJobLauncherinstance that can be used to launch jobs.- Parameters:
jobLauncher- a job launcher
-
getJobLauncher
public org.springframework.batch.core.launch.JobLauncher getJobLauncher()Deprecated, for removal: This API element is subject to removal in a future version.- Returns:
- the job launcher
-
launchJob
@Deprecated(since="6.0", forRemoval=true) public org.springframework.batch.core.job.JobExecution launchJob() throws ExceptionDeprecated, for removal: This API element is subject to removal in a future version.Since 6.0 in favor ofJobOperatorTestUtils.startJob(). Scheduled for removal in 6.2 or later.Launch the entire job, including all steps.- Returns:
- JobExecution, so that the test can validate the exit status
- Throws:
Exception- thrown if error occurs launching the job.
-
launchJob
@Deprecated(since="6.0", forRemoval=true) public org.springframework.batch.core.job.JobExecution launchJob(org.springframework.batch.core.job.parameters.JobParameters jobParameters) throws Exception Deprecated, for removal: This API element is subject to removal in a future version.Since 6.0 in favor ofJobOperatorTestUtils.startJob(JobParameters). Scheduled for removal in 6.2 or later.Launch the entire job, including all steps- Parameters:
jobParameters- instance ofJobParameters.- Returns:
- JobExecution, so that the test can validate the exit status
- Throws:
Exception- thrown if error occurs launching the job.
-
getUniqueJobParameters
public org.springframework.batch.core.job.parameters.JobParameters getUniqueJobParameters()Deprecated, for removal: This API element is subject to removal in a future version.- Returns:
- a new
JobParametersobject containing only one parameter namedbatch.randomwith a random number of typelong, to ensure that the job instance will be unique.
-
getUniqueJobParametersBuilder
public org.springframework.batch.core.job.parameters.JobParametersBuilder getUniqueJobParametersBuilder()Deprecated, for removal: This API element is subject to removal in a future version.- Returns:
- a new
JobParametersobject containing only one parameter namedbatch.randomwith a random number of typelong, to ensure that the job instance will be unique.
-
getStepRunner
Deprecated, for removal: This API element is subject to removal in a future version.Convenient method for subclasses to grab aStepRunnerfor running steps by name.- Returns:
- a
StepRunner
-
launchStep
@Deprecated(since="6.0", forRemoval=true) public org.springframework.batch.core.job.JobExecution launchStep(String stepName) Deprecated, for removal: This API element is subject to removal in a future version.Since 6.0 in favor ofJobOperatorTestUtils.startStep(String). Scheduled for removal in 6.2 or later.Launch just the specified step in a surrounding single-step job of typeSimpleJobnamedStepRunner.JOB_NAME. A unique set of JobParameters will automatically be generated. An IllegalStateException is thrown if there is no Step with the given name.- Parameters:
stepName- The name of the step to launch- Returns:
- JobExecution
-
launchStep
public org.springframework.batch.core.job.JobExecution launchStep(String stepName, org.springframework.batch.infrastructure.item.ExecutionContext jobExecutionContext) Deprecated, for removal: This API element is subject to removal in a future version.Launch just the specified step in a surrounding single-step job of typeSimpleJobnamedStepRunner.JOB_NAME. A unique set of JobParameters will automatically be generated. An IllegalStateException is thrown if there is no Step with the given name.- Parameters:
stepName- The name of the step to launchjobExecutionContext- An ExecutionContext whose values will be loaded into the Job ExecutionContext prior to launching the step.- Returns:
- JobExecution
-
launchStep
public org.springframework.batch.core.job.JobExecution launchStep(String stepName, org.springframework.batch.core.job.parameters.JobParameters jobParameters) Deprecated, for removal: This API element is subject to removal in a future version.Launch just the specified step in a surrounding single-step job of typeSimpleJobnamedStepRunner.JOB_NAME. An IllegalStateException is thrown if there is no Step with the given name.- Parameters:
stepName- The name of the step to launchjobParameters- The JobParameters to use during the launch- Returns:
- JobExecution
-
launchStep
@Deprecated(since="6.0", forRemoval=true) public org.springframework.batch.core.job.JobExecution launchStep(String stepName, org.springframework.batch.core.job.parameters.JobParameters jobParameters, @Nullable org.springframework.batch.infrastructure.item.ExecutionContext jobExecutionContext) Deprecated, for removal: This API element is subject to removal in a future version.Since 6.0 in favor ofJobOperatorTestUtils.startStep(String, JobParameters, ExecutionContext). Scheduled for removal in 6.2 or later.Launch just the specified step in a surrounding single-step job of typeSimpleJobnamedStepRunner.JOB_NAME. An IllegalStateException is thrown if there is no Step with the given name.- Parameters:
stepName- The name of the step to launchjobParameters- The JobParameters to use during the launchjobExecutionContext- An ExecutionContext whose values will be loaded into the Job ExecutionContext prior to launching the step.- Returns:
- JobExecution
-
JobOperatorTestUtils. Scheduled for removal in 6.2 or later.