如何在ItemReadListener中获取步骤名称和步骤执行ID?

时间:2020-01-13 00:03:19

标签: spring spring-batch

我的Spring Batch作业使用FlatFileItemReader来读取.csv文件。为了实现错误处理,我创建了一个自定义ItemReadListener,并提供了一个覆盖的onReadError实现。

在这里,我想访问引发错误的StepNameStepExecutionId(即在读者级别)。我可以在自定义侦听器中访问StepExecution吗?当我尝试将其注入任何方法或构造函数时,出现“未找到StepExecution类型的bean”错误。

谢谢。

1 个答案:

答案 0 :(得分:2)

在ItemReadListener中尝试以下操作。

@Value("#{stepExecution}")
private StepExecution stepExecution;

如果范围为step,这应该可以工作。同样,您的ItemReadListener应该是一个Spring bean。