春季批GZIP ItemWriter / ItemReader

时间:2020-01-12 21:20:45

标签: java spring gzip itemwriter flatfilereader

我有一个Spring启动应用程序,我写了一些ItemWriter和ItemReaders,例如JSON文件和CSV文件。

我想添加一个压缩到GZIP并从GZIP解压缩的步骤。

我想知道是否可以像往常一样使用JavaStreams-

如果我有一些InputStream或OutputStream,则可以用另一个流来装饰它(即,另一个流可以在其构造函数中获取它并使用它),并以这种方式轻松获得所有流的功能。

可以使用Spring ItemWriter和ItemReader完成吗?

否则,向现有的作者和读者添加压缩和解压缩的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

鉴于尚无其他答案...让我提出一个解决方案...

使用Decorator Pattern分别在ItemReaderItemWriter中压缩或解压缩输出/输入并不难。但是,使用修饰过的ItemReaderonLoad的作业的可重新启动性可能会受到损害。

...将压缩和解压缩添加到 现有的作家和读者?

我建议使用一个单独的步骤-TaskletStep-一个Tasklet来进行压缩/解压缩。