首页 > 解决方案 > 如何为 JSON 作业动态指定 ItemProcessor?

问题描述

我有不同的 JSON 文件,需要读取、处理和写入 JSON 数组的包含 JSON 对象。

输出格式(更具体地说:输出类)对于所有文件都是相同的。让我们称之为OutputClass。因此,项目处理器类似于ItemProcessor<X, OutPutClass>. X具体 JSON 文件的类在哪里。

文件之间的区别是:

我已经遇到@StepScope并能够动态生成一个读取器(取决于作业参数),它开始读取 JSON 结构中的不同位置。

但我不知道如何根据作业参数动态选择 ItemProcessor。因为我有很多不同的 JSON 文件,并且想减少为每个文件编写的代码量。

标签: javaspringspring-batch

解决方案


由于您能够使用步进范围的 bean(我也会这样做)基于作业参数创建动态项目读取器,因此您也可以使用相同的方法来创建动态项目处理器。


推荐阅读