如何将数据传递到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 Data JPA如何传递日期参数

将数据从 Spring FORM“传递”到 DAO 的通用方法是啥?

如何将 JobParameters 传递给 Spring Cloud Task 启动的批处理作业?

如何获取Spring批处理作业参数并传递给sql

如何将 Json 对象从 ajax 传递到 spring mvc 控制器?

如何在Spring Boot控制器类中传递参数(app正在使用Spring Security)