我有一个Spring启动应用程序,我写了一些ItemWriter和ItemReaders,例如JSON文件和CSV文件。
我想添加一个压缩到 GZIP 并从 GZIP 解压缩的步骤。
我想知道是否可以像往常一样使用 JavaStreams -
如果我有一些 InputStream 或 OutputStream,我可以用另一个流来装饰它(即,另一个流可以在它的构造函数中获取它并使用它(,这样就可以轻松获得所有流的功能。
可以使用Spring ItemWriter和ItemReader来完成吗?
否则,向现有作家和读者添加压缩和解压缩的最佳方法是什么?
鉴于目前还没有其他答案...让我提出一个解决方案...
使用装饰器模式在ItemWriter
中压缩或解压缩输出/输入并不难,并且ItemReader
。但是,使用这些修饰ItemWriter
和ItemReader
的作业的可重新启动性可能会受到影响。
。将压缩和解压缩添加到 现有的作家和读者?
我建议一个单独的步骤 - 一个TaskletStep
- 使用一个 Tasklet 来执行压缩/解压缩。