Class JobLauncherCommandLineRunner

  • All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.boot.CommandLineRunner, org.springframework.context.ApplicationEventPublisherAware, org.springframework.core.Ordered

    public class JobLauncherCommandLineRunner
    extends Object
    implements org.springframework.boot.CommandLineRunner, org.springframework.core.Ordered, org.springframework.context.ApplicationEventPublisherAware
    CommandLineRunner to launch Spring Batch jobs. Runs all jobs in the surrounding context by default. Can also be used to launch a specific job by providing a jobName
    • Constructor Detail

      • JobLauncherCommandLineRunner

        public JobLauncherCommandLineRunner​(org.springframework.batch.core.launch.JobLauncher jobLauncher,
                                            org.springframework.batch.core.explore.JobExplorer jobExplorer,
                                            org.springframework.batch.core.repository.JobRepository jobRepository)
        Parameters:
        jobLauncher - to launch jobs
        jobExplorer - to check the job repository for previous executions
        jobRepository - to check if a job instance exists with the given parameters when running a job
    • Method Detail

      • setOrder

        public void setOrder​(int order)
      • getOrder

        public int getOrder()
        Specified by:
        getOrder in interface org.springframework.core.Ordered
      • setApplicationEventPublisher

        public void setApplicationEventPublisher​(org.springframework.context.ApplicationEventPublisher publisher)
        Specified by:
        setApplicationEventPublisher in interface org.springframework.context.ApplicationEventPublisherAware
      • setJobRegistry

        @Autowired(required=false)
        public void setJobRegistry​(org.springframework.batch.core.configuration.JobRegistry jobRegistry)
      • setJobParametersConverter

        @Autowired(required=false)
        public void setJobParametersConverter​(org.springframework.batch.core.converter.JobParametersConverter converter)
      • setJobs

        @Autowired(required=false)
        public void setJobs​(Collection<org.springframework.batch.core.Job> jobs)
      • run

        public void run​(String... args)
                 throws org.springframework.batch.core.JobExecutionException
        Specified by:
        run in interface org.springframework.boot.CommandLineRunner
        Throws:
        org.springframework.batch.core.JobExecutionException
      • launchJobFromProperties

        protected void launchJobFromProperties​(Properties properties)
                                        throws org.springframework.batch.core.JobExecutionException
        Throws:
        org.springframework.batch.core.JobExecutionException
      • execute

        protected void execute​(org.springframework.batch.core.Job job,
                               org.springframework.batch.core.JobParameters jobParameters)
                        throws org.springframework.batch.core.repository.JobExecutionAlreadyRunningException,
                               org.springframework.batch.core.repository.JobRestartException,
                               org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException,
                               org.springframework.batch.core.JobParametersInvalidException,
                               org.springframework.batch.core.launch.JobParametersNotFoundException
        Throws:
        org.springframework.batch.core.repository.JobExecutionAlreadyRunningException
        org.springframework.batch.core.repository.JobRestartException
        org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException
        org.springframework.batch.core.JobParametersInvalidException
        org.springframework.batch.core.launch.JobParametersNotFoundException