Spring Batch:读取多个json文件并一个接一个地处理

时间:2019-03-22 08:10:24

标签: spring spring-batch spring-batch-tasklet

我在一个巨大的JSON文件中,每个文件夹约200个文件,每个文件约300 mbs。 我需要编写Spring批处理来读取文件并一个接一个地处理。

基本上是指一次读取一个文件,然后运行处理器,然后运行编写器,然后读取下一个文件,该文件基本上是客户数据和活动转储,每个文件包含多个用户数据和许多文件。像下面一样

[{
"cutomerId":123,
"customerName":"bla babha",
"phoneNumber" : 5060974321,
..
,,
},{
"cutomerId":123,
"customerName":"bla babha",
"phoneNumber" : 5060974321,
..
..
}
]

由于空间问题,我无法一次读取所有文件。

这可能吗?什么是配置。

请帮助。

1 个答案:

答案 0 :(得分:0)

Spring Batch v4.1引入了JsonItemReader,您可以使用它来读取json文件。有关Json支持的更多详细信息,请参见参考文档的JSON Item Readers And Writers部分。

此读者可以用作MultiResourceItemReader的委托人(如评论中的Luca Basso Ricci所述)来读取目录中的多个json文件。您可以找到示例here。该示例显示了FlatFileItemReader作为委托,但是您可以将类似的配置与JsonItemReader一起使用。

希望这会有所帮助。