Весенняя партия GZIP ItemWriter/ItemReader

У меня есть загрузочное приложение Spring, и я написал несколько ItemWriter и ItemReaders, например, для файлов JSON и CSV.

Я хочу добавить шаг сжатия в GZIP и распаковки из GZIP.

Я хотел знать, можно ли как обычно с JavaStreams -

Если у меня есть какой-то InputStream или OutputStream, я могу украсить его другим потоком (т. Е. Другой поток может получить его в своем конструкторе и использовать), и таким образом легко получить всю функциональность потоков.

Можно ли это сделать с помощью Spring ItemWriter и ItemReader?

Иначе, как лучше всего добавить сжатие и распаковку для существующих писателей и читателей?

1 ответ

Решение

Учитывая, что других ответов пока нет... позвольте предложить решение...

Не так сложно использовать шаблон декоратора для сжатия или декомпрессии вывода / ввода вItemWriter а также ItemReader, соответственно. Возможность перезапуска заданий, использующих декорированныеItemWriter а также ItemReaderоднако может быть скомпрометирован.

... как лучше всего добавить сжатие и распаковку к существующим писателям и читателям?

Я бы предложил отдельный шаг - TaskletStep- с помощью тасклета для выполнения только сжатия / распаковки.

Другие вопросы по тегам