我尝试使用apache camel使用JSON数组形式的记录来消耗大型JSON文件。我使用split()和jsonpath(“$”)来分割记录,它返回Map,并且可以很好地处理小文件。但是对于大文件,它会加载内存中的所有内容并导致outofmemoryerror。
下面是代码。有什么建议如何处理大文件吗?
from("file://{{data.file.inbound}}?charset=utf-8&readLock=changed&move={{data.file.processed}}&moveFailed={{data.file.failed}}")
.id("file-to-mongodb").split().jsonpath("$").streaming()
.to("log:com.manoj.oneByone");
字符串
1条答案
按热度按时间4zcjmb1e1#
由于将整个文件加载到内存中,OOM出现问题。
我会尝试下面的代码,它将文件分块复制:
字符串