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