如何将数据传递到spring批处理ItemProcessor?
Posted
技术标签:
【中文标题】如何将数据传递到spring批处理ItemProcessor?【英文标题】:How to pass data into spring batch ItemProcessor? 【发布时间】:2020-12-29 05:01:13 【问题描述】:我有一个包含数据记录(案例)的 CSV 文件,为此我创建了一个 caseDTO
对象,但是 caseDTO
的某些属性必须是来自文件名中包含的数据的字段(每个文件必须具有包含一些数据的严格结构的名称)。
我想要实现的是将文件名中包含的数据传递给项目处理器,我将在其中将此数据附加到每个 caseDTO
中,然后再将其传递给项目编写器。
当我从控制器启动作业时,有谁知道如何将数据传递给步骤itemProcessor
?
提前致谢。
【问题讨论】:
您是否尝试将文件名作为作业参数***.com/questions/21557623/… 传递? 【参考方案1】:最简单的解决方案是在作业参数中设置动态参数,以便步骤的编写器、处理器、读取器可以访问它。通过注入它们的值如下
@Value("#jobParameters['fileName']") public void setFileName(final String name) //...
【讨论】:
以上是关于如何将数据传递到spring批处理ItemProcessor?的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 Spring FORM“传递”到 DAO 的通用方法是啥?
如何将 JobParameters 传递给 Spring Cloud Task 启动的批处理作业?