@Configuration
public class LTSSpringConfig implements ApplicationContextAware {
private ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
@Bean(name = "jobClient")
public JobClient getJobClient() throws Exception {
JobClientFactoryBean factoryBean = new JobClientFactoryBean();
factoryBean.afterPropertiesSet();
return factoryBean.getObject();
}
@Bean(name = "jobTracker")
public JobTracker getJobTracker() throws Exception {
JobTrackerFactoryBean factoryBean = new JobTrackerFactoryBean();
factoryBean.afterPropertiesSet();
return factoryBean.getObject();
}
@Bean(name = "taskTracker")
public TaskTracker getTaskTracker() throws Exception {
TaskTrackerAnnotationFactoryBean factoryBean = new TaskTrackerAnnotationFactoryBean();
factoryBean.setApplicationContext(applicationContext);
factoryBean.afterPropertiesSet();
return factoryBean.getObject();
}
}