Spring批处理 - StepExecutionListener

时间:2016-08-17 17:44:34

标签: spring-batch

我使用beforeStep在我的ItemProcessor中调用数据集,我可以使用StepExecutionListener - beforeStep在一个不属于ItemProcessor的公共函数中吗?

beforeStep方法是否可以使用常用方法?

2 个答案:

答案 0 :(得分:0)

很抱歉,我的回复太长,无法添加评论,因此回答为答案。

感谢您对此进行调查。我有一个步骤,从csv文件读取并写入DB - 表A.我有一个处理器,我已经编写了业务逻辑。现在,对于我的业务逻辑,我需要从表B和表C中获取值。为了实现这一点,我将这些静态表加载到数据集/ Map(例如:Map initialize(Collection collection))并在ItemProcessor中通过@使用它们beforeStep。

我的问题是,我的工作中有多个步骤,看来我必须在每一步都点击db来加载相同的值。我尝试将业务逻辑与@beforeStep一起移动到另一个方法,但它返回空值。这种方法是正确的还是@PforeStep在ItemProcessor中绑定了StepExecutionListener(公共类A1实现了ItemProcessor,StepExecutionListener {)

答案 1 :(得分:0)

我能够通过为所有依赖的静态表创建一个带有util:map的bean并将bean注入处理器来解决这个问题。