Весенняя партия GZIP ItemWriter/ItemReader
У меня есть загрузочное приложение Spring, и я написал несколько ItemWriter и ItemReaders, например, для файлов JSON и CSV.
Я хочу добавить шаг сжатия в GZIP и распаковки из GZIP.
Я хотел знать, можно ли как обычно с JavaStreams -
Если у меня есть какой-то InputStream или OutputStream, я могу украсить его другим потоком (т. Е. Другой поток может получить его в своем конструкторе и использовать), и таким образом легко получить всю функциональность потоков.
Можно ли это сделать с помощью Spring ItemWriter и ItemReader?
Иначе, как лучше всего добавить сжатие и распаковку для существующих писателей и читателей?
1 ответ
Учитывая, что других ответов пока нет... позвольте предложить решение...
Не так сложно использовать шаблон декоратора для сжатия или декомпрессии вывода / ввода вItemWriter
а также ItemReader
, соответственно. Возможность перезапуска заданий, использующих декорированныеItemWriter
а также ItemReader
однако может быть скомпрометирован.
... как лучше всего добавить сжатие и распаковку к существующим писателям и читателям?
Я бы предложил отдельный шаг - TaskletStep
- с помощью тасклета для выполнения только сжатия / распаковки.