У меня есть сжатый или ZIP-файл, входящий на верблюжьем маршруте. Этот zip-файл содержит несколько CSV-файлов. Мне также нужно подготовить содержимое файла перед дальнейшей обработкой. Кажется, я могу успешно разархивировать файл, но не могу работать с ним, unmarshalled. Кажется, что несколько сплиттеров являются проблемой. ??? надеясь, что кто-нибудь скажет мне, что я делаю не так. Если я извлекаю файлы из zip-файла, я могу обработать их все по отдельности, но не могу обработать их из zip-файла.
Я пробовал ZipFileDataFormat, также ZipSplitter с теми же результатами. попробовал .split (bodyAs (Iterator.class))
} else if (Boolean.parseBoolean(isCompressedOnly)) { //Only Zipped or Compressed
ZipFileDataFormat zipFile = new ZipFileDataFormat();
zipFile.setUsingIterator(true);
from(fromStr)
.routeId(routeId)
.log(LoggingLevel.INFO, "Message received ${file:name} for Only Zipped or Compressed files from host " + host)
.unmarshal(zipFile)
.split(body(Iterator.class))
.streaming()
.convertBodyTo(String.class)
.wireTap("file:" + fileArchive)
.split(body()).streaming()
.process(new EndpointParametersProcessor(decoderName))
.to(toStr)
.end();