如何将数据传递到 spring 批处理 ItemProcessor?

How to pass data into spring batch ItemProcessor?

我有一个包含数据记录(案例)的 CSV 文件,我为此创建了一个 caseDTO 对象,但是 caseDTO 的某些属性必须是来自包含在文件名(每个文件必须有一个包含一些数据的具有严格结构的名称)。

我想要实现的是将文件名中包含的数据传递给项目处理器,在将其传递给项目编写器之前,我会将这些数据附加到每个 caseDTO 中。

有人知道当我从控制器启动作业时如何将数据传递到步骤 itemProcessor 吗?

提前致谢。

最简单的解决方案是在作业参数中设置动态参数,以便步骤的编写者、处理者 reader 可以访问它。通过如下注入它们的值

@Value("#{jobParameters['fileName']}") public void setFileName(final String name) { //... }