我是 Spring-Batch 的新手,我想知道是否有办法从ItemReader或ItemWriter中访问step-id ?
在我的情况下,允许在单个ItemReader实现中基于不同的步骤定义来切换枚举类型。
有没有人知道这样做的方法?
答案 0 :(得分:7)
假设ItemReader或ItemWriter是步骤范围的,你可以这样做:
<bean id="flatFileItemReader" scope="step"
class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource" value="#{stepExecution.stepName}" />
</bean>
答案 1 :(得分:1)
这与使用@BeforeStep
带注释的方法实现一样简单:
@BeforeStep
public void beforeStep(StepExecution stepExecution){
String name = stepExecution.getStepName();
System.out.println("name: " + name);
}
将它放在我的 ItemReader 中,就是这样......