java - 如何将数据传递到spring批处理ItemProcessor?
问题描述
我有一个 CSV 文件,其中包含数据记录(案例),为此我创建了一个caseDTO
对象,但是某些属性caseDTO
必须是来自文件名中包含的数据的字段(每个文件都必须有一个具有严格结构的名称,其中包含一些数据)。
我想要实现的是将文件名中包含的数据传递给项目处理器,我将在其中将此数据附加到每个文件中caseDTO
,然后再将其传递给项目编写器。
itemProcessor
当我从控制器启动作业时,有谁知道如何将数据传递给一个步骤?
提前致谢。
解决方案
最简单的解决方案是在作业参数中设置动态参数,以便步骤的编写器、处理器、读取器可以访问它。通过注入它们的值如下
@Value("#{jobParameters['fileName']}") public void setFileName(final String name) { //... }
推荐阅读
- flutter - 每当我在终端工作时,我写的关于 dart 流的代码都会给我一个空值
- gdb - GNAT studio 2020 社区不再对 GDB Windows 10 做出反应
- xaml - 对象名称在 .XAML 中定义,但无法识别为 .fs
- kubernetes - 如何使用 apiVersion "certificates.k8s.io/v1" 为 webhook 创建 "CertificateSigningRequest"
- php - 消息:count():参数必须是数组或实现 Countable 的对象
- java - JaxB - 嵌套元素值为空
- swift - 从“错误”转换为不相关类型“AuthErrorCode”总是失败
- docker-compose - Pycharm 卡在启动骨架生成器过程中
- c# - Entity Framework Core v.5+ 多对多 fluent api
- ios - 如何减少 UICollection 视图中的垂直间距