如何为 JSON 作业动态指定 ItemProcessor?

How can I specify dynamically the ItemProcessor for a JSON Job?

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

输出格式(更具体地说:输出class)对所有文件都是一样的。让我们称之为 OutputClass。因此,项目处理器类似于 ItemProcessor<X, OutPutClass>。其中 X 是特定 JSON 文件的 class。

文件之间的区别是:

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

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

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