我在使用SMB端点传输大约20个文件时遇到java.lang.OutOfMemoryError: unable to create new native thread
错误。
Camel版本2.13。
路线本身很简单:
<route id="Filetransfer">
<from uri="ftp://user@server//source/map?password=pwd&include=fileA.*.csv|fileB.*.csv|fileC.*.csv|fileD.*.csv|fileE.*.csv|fileF.*.csv&move=save&consumer.delay=30000" />
<log message="${routeId}: ${header.CamelFileName}" />
<to uri="smb://domain;user@server/target/map?password=pwd"/>
</route>
当我检查Hawtio仪表板中的线程数时,线程数达到峰值1000.当只传输一些小文件时,路由正确执行。当一些大人物 传输文件(&gt; 5Mb,> 100.000行),路由会给出错误。
当我用<to uri="file:///tmp/camel"/>
等FILE端点替换SMB端点时,路由也会正确执行,并且所有文件都会被传输。
首先按行拆分文件,然后使用SMB端点中的Append选项导致相同的错误。
无论文件大小如何,我该怎么做才能使SMB端点工作?