Проанализировав проблему, я нашел следующее решение.
Так что 1 ГБ - это не так уж много, если мы можем просто потратить достаточно памяти на Camel.
Это зависит от следующеговопрос
Нужны ли нам 1 ГБ одновременно для доступа или мы получаем доступ ко всем файлам в любом порядке?
Если нет, то мы должны были бы «передать» CSV /Файл XML, поэтому читайте как InputStream и затем последовательно получите то, что нам нужно.
CSV:
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
<split streaming="true">
<tokenize token="\n"/>
<to uri="mock:result"/>
</split>
<unmarshal><csv /></unmarshal>
</route>
XML:
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
<split streaming="true">
<ref>staxRecord</ref>
<to uri="mock:result"/>
</split>
</route>
</camelContext>