public abstract class JobExecutor extends Object implements InitializingBean, DisposableBean, BeanFactoryAware
Jobs.| Modifier and Type | Class and Description |
|---|---|
protected static interface |
JobExecutor.JobListener |
| Constructor and Description |
|---|
JobExecutor() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
void |
destroy() |
protected Collection<Job> |
findJobs() |
boolean |
isKillJobsAtShutdown()
Indicates whether the configured jobs should be 'killed' when the application
shuts down or not.
|
boolean |
isVerbose()
Indicates whether the job execution is verbose (the default) or not.
|
boolean |
isWaitForCompletion()
Indicates whether the 'runner' should wait for the job to complete (default).
|
void |
setBeanFactory(BeanFactory beanFactory) |
void |
setExecutor(Executor executor)
Sets the TaskExecutor used for executing the Hadoop job.
|
void |
setJob(Job job)
Sets the job to execute.
|
void |
setJobNames(String... jobName)
Sets the jobs to execute by (bean) name.
|
void |
setJobs(Collection<Job> jobs)
Sets the jobs to execute.
|
void |
setKillJobAtShutdown(boolean killJobsAtShutdown)
Indicates whether the configured jobs should be 'killed' when the application
shuts down (default) or not.
|
void |
setVerbose(boolean verbose)
Indicates whether the job execution is verbose (the default) or not.
|
void |
setWaitForCompletion(boolean waitForJob)
Indicates whether the 'runner' should wait for the job to complete (default)
after submission or not.
|
protected Collection<Job> |
startJobs() |
protected Collection<Job> |
startJobs(JobExecutor.JobListener listener) |
protected Collection<Job> |
stopJobs()
Stops running job.
|
protected Collection<Job> |
stopJobs(JobExecutor.JobListener listener)
Stops running job.
|
protected Log log
public void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface InitializingBeanExceptionpublic void destroy()
throws Exception
destroy in interface DisposableBeanExceptionprotected Collection<Job> stopJobs()
protected Collection<Job> stopJobs(JobExecutor.JobListener listener)
listener - job listenerprotected Collection<Job> startJobs()
protected Collection<Job> startJobs(JobExecutor.JobListener listener)
protected Collection<Job> findJobs()
public void setJob(Job job)
job - The job to execute.public void setJobs(Collection<Job> jobs)
jobs - The job to execute.public void setJobNames(String... jobName)
jobName - The job to execute.public boolean isWaitForCompletion()
public void setWaitForCompletion(boolean waitForJob)
waitForJob - whether to wait for the job to complete or not.public boolean isVerbose()
public void setVerbose(boolean verbose)
verbose - whether the job execution is verbose or not.public void setBeanFactory(BeanFactory beanFactory) throws BeansException
setBeanFactory in interface BeanFactoryAwareBeansExceptionpublic void setExecutor(Executor executor)
SyncTaskExecutor is used, meaning the calling thread is used.
While this replicates the Hadoop behavior, it prevents running jobs from being killed if the application shuts down.
For a fine-tuned control, a dedicated Executor is recommended.executor - the task executor to use execute the Hadoop job.public boolean isKillJobsAtShutdown()
public void setKillJobAtShutdown(boolean killJobsAtShutdown)
setWaitForCompletion(boolean) is true, this flag is considered to be true as otherwise
the application cannot shut down (since it has to keep waiting for the job).killJobsAtShutdown - whether or not to kill configured jobs when the application shuts down