spring-boot - 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;
}
}
我不确定我是否在朝着正确的方向思考。任何根据文件格式选择阅读器的建议都将受到高度赞赏。
解决方案
推荐阅读
- javascript - 在 Java 服务器和 Node.js 客户端之间发送文本
- rest - 根据 REST 标准,这些 URL 中的哪一个是最好的?
- angular - Angular 7 + jasmine - 奇怪的伊斯坦布尔覆盖问题(得到 97 而不是 100%)
- r - 使用 urbnmapr 在 ggplot 中强制“填充”范围
- python - 如何通过 Python 使用 Selenium 评论实时 youtube 视频
- apache-kafka - 生产者重启后继续Kafka生产者事务
- lua - 如何修复“stdin:1:尝试对 nil 值(全局'lua')执行算术”错误?
- python-3.x - 当数据框中其他列的条件匹配时,从一列中提取单元格
- swift - 如何更改 SKScene 的背景颜色?
- laravel - 我在 Laravel 中执行此查询时出错