Step Scope
Step Scope时SpringBatch框架提供的自定义的Scope,将SpringBean定义为Step Scope,支持SpringBean在Step开始的时候初始化,在Step结束的时候销毁SpringBean,将
SpringBean的生命周期与Step绑定。
在SpringBatch框架中,Step Scope会自动被注册到Spring上下文中,如果没有使用Spring的配置文件,需要显示的声明Step Scope。
<bean:bean id="csvItemReader"
class="org.springframework.batch.item.file.FlatFileItemReader"
scope="step">
...
...
</bean:bean>
通过属性scope=”step”来定义csvItemReader的生命周期和Step绑定
运行Job
SpringBatch 框架提供了一组执行Job的接口。包括JobLauncher、JobExplorer和JobOperator三个操作Job的接口。
JobLauncher 是最常用的作业调度器,通过给定的Job Name 和Job Parameters 可以执行Job;
JobExplorer 主要负责从JobRepository中获取执行的信息,包括获取作业实例、获取作业执行器、获取作恶步执行器、获取正在运行的作业执行器、获取作业列表等操作;
JobOperator 包含了JobLauncher和JobExplorer中的大部分操作。
调度作业
通过JobLauncher来调度作业
// 调度作业
ApplicationContext context = new ClassPathXmlApplicationContext("job.xml");
JobLauncher launcher = (JobLauncher) context.getBean("jobLauncher")