类 JobLauncherTestUtils


  • public class JobLauncherTestUtils
    extends java.lang.Object

    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 the current system time as a parameter. This will ensure restartability when no parameters are provided.

    从以下版本开始:
    2.1
    作者:
    Lucas Ward, Dan Garrette, Dave Syer, Mahmoud Ben Hassine
    • 字段详细资料

      • logger

        protected final org.apache.commons.logging.Log logger
        Logger
    • 方法详细资料

      • setJob

        @Autowired
        public void setJob​(Job job)
        The Job instance that can be manipulated (e.g. launched) in this utility.
        参数:
        job - the AbstractJob to use
      • launchJob

        public JobExecution launchJob()
                               throws java.lang.Exception
        Launch the entire job, including all steps.
        返回:
        JobExecution, so that the test can validate the exit status
        抛出:
        java.lang.Exception - thrown if error occurs launching the job.
      • launchJob

        public JobExecution launchJob​(JobParameters jobParameters)
                               throws java.lang.Exception
        Launch the entire job, including all steps
        参数:
        jobParameters - instance of JobParameters.
        返回:
        JobExecution, so that the test can validate the exit status
        抛出:
        java.lang.Exception - thrown if error occurs launching the job.
      • getUniqueJobParameters

        public JobParameters getUniqueJobParameters()
        返回:
        a new JobParameters object containing only a parameter for the current timestamp, to ensure that the job instance will be unique.
      • launchStep

        public JobExecution launchStep​(java.lang.String stepName)
        Launch just the specified step in the job. A unique set of JobParameters will automatically be generated. An IllegalStateException is thrown if there is no Step with the given name.
        参数:
        stepName - The name of the step to launch
        返回:
        JobExecution
      • launchStep

        public JobExecution launchStep​(java.lang.String stepName,
                                       ExecutionContext jobExecutionContext)
        Launch just the specified step in the job. A unique set of JobParameters will automatically be generated. An IllegalStateException is thrown if there is no Step with the given name.
        参数:
        stepName - The name of the step to launch
        jobExecutionContext - An ExecutionContext whose values will be loaded into the Job ExecutionContext prior to launching the step.
        返回:
        JobExecution
      • launchStep

        public JobExecution launchStep​(java.lang.String stepName,
                                       JobParameters jobParameters)
        Launch just the specified step in the job. An IllegalStateException is thrown if there is no Step with the given name.
        参数:
        stepName - The name of the step to launch
        jobParameters - The JobParameters to use during the launch
        返回:
        JobExecution
      • launchStep

        public JobExecution launchStep​(java.lang.String stepName,
                                       JobParameters jobParameters,
                                       @Nullable
                                       ExecutionContext jobExecutionContext)
        Launch just the specified step in the job. An IllegalStateException is thrown if there is no Step with the given name.
        参数:
        stepName - The name of the step to launch
        jobParameters - The JobParameters to use during the launch
        jobExecutionContext - An ExecutionContext whose values will be loaded into the Job ExecutionContext prior to launching the step.
        返回:
        JobExecution