Spring Batch处理编码的压缩文件 [英] Spring Batch process an encoded zipped file

查看:12
本文介绍了Spring Batch处理编码的压缩文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在研究使用Spring Batch来处理编码压缩文件中的记录。这些记录是可变长度的,其中编码了嵌套的可变长度数据字段。

我是Spring和Spring Batch的新手,这就是我计划如何构建批处理配置。

  • ItemReader需要将压缩(*.gz)文件输入流中的单个记录读取到POJO(字节数组)中,此记录的长度将包含在流的前两个字节中。
  • ItemProcessor将解码字节数组,并将信息存储在POJO的相关属性中。
  • ItemWriter将填充数据库。

我最初的问题是理解如何设置ItemReader,我已经研究了一些使用FlatFileItemReader的示例,但我的困难在于期望有一个Line Mapper。我看不出在我的情况下如何才能做到这一点(文件中没有行的概念)。

有一些articles指示使用自定义BufferedReaderFactory,但很高兴看到这方面的工作示例。

感谢您的帮助。

推荐答案

我的念力基于自定义ItemReader中的文件处理,如果我要在Read()方法中打开和处理文件,我将必须跟踪我在文件中的位置等。我设法通过在自定义ItemReader的构造函数中创建BufferedInputStream(BufferedInputStream(new GZIPInputStream(new FileInputStream(File)来实现这一点。

这篇关于Spring Batch处理编码的压缩文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆