首页 > 解决方案 > Spring Batch 读取多个 csv 和 xls 文件

问题描述

我需要创建 spring 批处理作业,它将从网络位置读取文件,这些文件可以是 csv 格式或 xls/xlsx 格式。

由于文件格式不同,我使用了 spring-batch-excel 提供的 flatfileItemReader 和 PoiItemReader。

阅读这些文件后,我需要更新数据库表。

我无法决定我应该如何处理这个逻辑,基于文件格式需要调用不同的阅读器。

首先我想,我将创建一个步骤,从该位置读取文件,然后实现 JobExecutionDecider,它将检查文件扩展名并调用相应的 fileReader。但是,我无法理解如何获得步骤即文件对象的响应

public class FileReaderDecider implements JobExecutionDecider {
    @Override
    public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {
        return null;
    }
}

我不确定我是否在朝着正确的方向思考。任何根据文件格式选择阅读器的建议都将受到高度赞赏。

标签: spring-bootspring-batch

解决方案


推荐阅读