我使用beforeStep在我的ItemProcessor中调用数据集,我可以使用StepExecutionListener - beforeStep在一个不属于ItemProcessor的公共函数中吗?
beforeStep方法是否可以使用常用方法?
答案 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注入处理器来解决这个问题。