Spring 批次:一个 Reader 和两个不同的 Writer

Spring Batch: one Reader and two different Writer

我正在使用 SpringBatch 读取 xml 文件并将其保存在数据库和另一个文件中。 我要读取的对象具有结构 OBJECT(name, logicalName, version , key , status)。 我想保存数据库中的所有属性和文件中的名称属性。 目前,我为此过程创建了两个不同的步骤:
步骤 1 -> 保存到数据库 第 2 步 -> 将名称属性保存到文件

我的问题是如何运行 这两个步骤并行,即使它们读取同一个文件? 在这种情况下,我尝试使用相同的 ItemReader 和 CompositeItemWriter,成功保存到数据库,但所有对象也都保存到目标文件,我只需要名称属性。

CompositeItemWriter 是要走的路,不需要两个步骤。您需要编写一个自定义 FieldSetExtractor,它只提取您要写入文件的属性。