Spring Batch Multi Line record PatternMatch BeanList



我有一个文件,记录分布在多行中,要在春季批处理中处理。

Begin
EXP 123 1026
EXP 456 9894
INC 076 2014 1231
INC 187 2013 1045
End

前三个字符用于标识记录的类型。我使用PatternMatchingCompositeLineTokenizer将记录映射到bean。如何为EXP和INC创建一个列表,其中EXP列表将包含所有EXP记录,INC列表将包含所有INC记录?

看一下春季批次样品。特别是Multiline示例

您可以在src/main/resources/jobs中找到multilineJob.xml,以及所有其他示例作业xml文件。

您将需要实现一些您自己的组件。特别是一些聚合阅读器你需要给它传递一个委托阅读器。您可以查看示例AggregateItemReader。您可以做的是创建一个包装器类来保存两个列表,一个用于EXP,另一个用于INC对象。对于读取的每个项目,将行/对象添加到EXP列表或包装器中的INC列表中。

示例中的所有自定义类都在org.springframework.batch.sample.domain子包中。您应该能够提取它们并运行示例。

相关内容

最新更新