springbatch不读取process

springbatch不读取process,第1张

首先,Spring Batch运行梁谈早的基本单位是一个Job,一个Job就做一件批处理的事情。

一个Job包含很多Step,step就是每个job要执行的单个步骤。

如下图所示,Step里面,会有Tasklet,Tasklet是一个任务单元,它是属于可以重复利用的东西。

然后是Chunk,chunk就是侍差数据块,你需要定义多大的数据量是一个chunk。

Chunk里面就是不断循环的一个流程,读数据,处理数据,然后写数据。Spring Batch会不断的循环这个流程,直到批处理数据完成。

read是负责读取数据。spring batch 有很多其实现,能够针对不同的场景进行选择。例如:经常会用到的文件读取实现FlatFileItemReader,能够针对大部分文件进行读取。

process是数据处理器,在数据流从read到writer过程中,可以对数据流进行校验。使之能够对输入的数据进行检查。

writer是负责写数据。spring batch也有很多实现。例如:AmqItemWriter,FlatFileItemWriter,MybatisBatchItemWriter,ListItemWriter等等。

在对以上的基本概念和流程进行了解后,对于项目的功能已经有了初步的代码实现。

就当开始编写代码时,遇到了一个问题。spring batch提供的reader,不能读取项目中所使用的文件。项目中使用的是.gz的压缩型文件,spring batch FlatFileItemReader 不能正确的读取文件内容。尝试着对.gz文件的解压文件进行读取,能够得到正确文件内容。如橡雀果这样的话,每次读取文件都要先解压再去读取,比较麻烦。就在一筹莫展之际,突然灵机一动,联想到之前做过的项目能够对.gz文件进行读取的GZIPInputStream,其实也算是一种数据流,既然都是数据流,能不能把.gz的数据流适配到FlatFileItemReader中。说干就干,于是翻看了FlatFileItemReader的源码,发现其接收一个Resource的参数。其中就是对数据流的包裹。

FaltFileItemReader

截图中显示通过resource创建出BufferedReader能够对文件进行行读取 *** 作。

然后我通过继承Resource接口然后通过对象适配器模式,适配FileSystemRes

解决方启汪宴法如下:

1、使用xshell登录服务器。

2、安装lrzsz软件。

3、使用rz-y命令然后进行文件上传。陵纳

4、使用sz命令下载,悄银命令格式如下,之后就可以重新试一下文件上传后能不能解压。

您好,springbatchcore是一个用于处理大量数据的开源框架,它可以帮助您实现批处理任务,比如文件转换、数据清洗、数据导入/导出等。如果您无法打开springbatchcore,可能是由于您的系统环境不支持,或者您的系统中缺少必要的依赖包扒喊李。建议您检查您的系统环境,确保您的系统中安装了所有必要的依春迟赖包,然后再尝试打开渗磨springbatchcore。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12168867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存