Spring 批量 GZIP ItemWriter/ItemReader

Spring batch GZIP ItemWriter/ItemReader

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

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

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

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

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

否则,向现有写入器和读取器添加压缩和解压缩的最佳方法是什么?

鉴于目前还没有其他答案...让我提出一个解决方案...

使用 Decorator PatternItemWriterItemReader 中分别压缩或解压缩 output/input 并不难。但是,使用装饰 ItemWriterItemReader 的作业的 可重启性 可能会受到影响。

...what's the best way to add compressing and decompressing to an existing writers and readers?

我建议一个单独的步骤 - TaskletStep - with a Tasklet 只执行 compression/decompression。