public class JobLauncherApplicationRunner extends Object implements ApplicationRunner, InitializingBean, Ordered, ApplicationEventPublisherAware
ApplicationRunner
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 jobNameModifier and Type | Field and Description |
---|---|
static int |
DEFAULT_ORDER
The default order for the command line runner.
|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
JobLauncherApplicationRunner(org.springframework.batch.core.launch.JobLauncher jobLauncher,
org.springframework.batch.core.explore.JobExplorer jobExplorer,
org.springframework.batch.core.repository.JobRepository jobRepository)
Create a new
JobLauncherApplicationRunner . |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
protected void |
execute(org.springframework.batch.core.Job job,
org.springframework.batch.core.JobParameters jobParameters) |
int |
getOrder() |
protected void |
launchJobFromProperties(Properties properties) |
void |
run(ApplicationArguments args)
Callback used to run the bean.
|
void |
run(String... args) |
void |
setApplicationEventPublisher(ApplicationEventPublisher publisher) |
void |
setJobNames(String jobNames) |
void |
setJobParametersConverter(org.springframework.batch.core.converter.JobParametersConverter converter) |
void |
setJobRegistry(org.springframework.batch.core.configuration.JobRegistry jobRegistry) |
void |
setJobs(Collection<org.springframework.batch.core.Job> jobs) |
void |
setOrder(int order) |
public static final int DEFAULT_ORDER
public JobLauncherApplicationRunner(org.springframework.batch.core.launch.JobLauncher jobLauncher, org.springframework.batch.core.explore.JobExplorer jobExplorer, org.springframework.batch.core.repository.JobRepository jobRepository)
JobLauncherApplicationRunner
.jobLauncher
- to launch jobsjobExplorer
- to check the job repository for previous executionsjobRepository
- to check if a job instance exists with the given parameters
when running a jobpublic void afterPropertiesSet()
afterPropertiesSet
in interface InitializingBean
public void setOrder(int order)
public void setApplicationEventPublisher(ApplicationEventPublisher publisher)
setApplicationEventPublisher
in interface ApplicationEventPublisherAware
@Autowired(required=false) public void setJobRegistry(org.springframework.batch.core.configuration.JobRegistry jobRegistry)
public void setJobNames(String jobNames)
@Autowired(required=false) public void setJobParametersConverter(org.springframework.batch.core.converter.JobParametersConverter converter)
@Autowired(required=false) public void setJobs(Collection<org.springframework.batch.core.Job> jobs)
public void run(ApplicationArguments args) throws Exception
ApplicationRunner
run
in interface ApplicationRunner
args
- incoming application argumentsException
- on errorpublic void run(String... args) throws org.springframework.batch.core.JobExecutionException
org.springframework.batch.core.JobExecutionException
protected void launchJobFromProperties(Properties properties) throws org.springframework.batch.core.JobExecutionException
org.springframework.batch.core.JobExecutionException
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
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