首页 文章

在SpringBoot Spring Batch中读取多个文件和进程

提问于
浏览
0

我正在使用带有 spring 靴的Spring批次 . 我在处理多个文件时遇到问题 .

我的情景 . 我有多个文件有不同的 Headers ,例如:

Sourcefile1.txt:

name, age, salary
ajay, 22, 2000
vijay, 23, 3000

Sourcefile2.txt:

name, address
vijay, india
ajay, uk

我想使用 spring 批处理 spring 启动来处理这些文件 . 我怎样才能做到这一点?

1 回答

  • 0

    您需要创建一个 spring 批处理作业 . 使用读取文件的读取器,读取csv文件,弹出批处理实现FlatFileItemReader . 虽然在 Spring 季批处理中将此类作为读取器bean注册,但您可以根据需要配置此文件,同时对其属性执行setter注入 . 例如,您可以设置此类的属性linesToSkip,这将排除您执行的行不希望 spring 批次读取,通常我们跳过文件的第一行,因为它包含 Headers . 你可以为这个bean配置一个行映射器,这就是另一个实现形式的 spring 批处理本身有名称DefaultLineMapper,如果你想自定义你的文件映射逻辑,可以扩展这个类 . 这就是读取部分 . 现在,您可以实现Spring批处理提供的处理器和编写器,以便对使用FlatFileReader读取的数据执行进一步操作 .

相关问题