用于文件处理的动态 SFTP uri 的 Apache 骆驼内存问题

问题描述 投票:0回答:0

我们的应用程序抛出 OutOfMemory 已经有一段时间了。起初我们认为这是由于集合使用效率低下造成的,但在更深入地分析应用程序和堆转储后,看起来是 Apache camel 导致了这个内存问题。我们每天从 SFTP 中提取文件并在进行数据处理和插入数据库之前对其进行解密。看起来 Apache camel 没有从它的 jsch 缓冲区中释放内存。

我们的骆驼很简单,这里分享一个示例 from("sftpUrl"+dynamic_fileName+".pgp"+"&noop=true&delay=5m&stepwise=false").routeId("id").process(isNotAllprocessed).unmarshal().pgp (somekey,user,pwd).unmarshal().string().process(writeToDBProcessor).log("Done");

我们尝试使用 streamcaching() 并重构处理器,但没有解决这个问题。

堆栈溢出中 apache camel 的其他解决方案似乎与 JMS 一起使用,我没有找到与我的问题相关的任何内容,因此发布了这个。如果您知道现有答案,请在此处发表评论。

你们中有人遇到过这个问题吗?有人可以建议我们在这里可以做什么吗?

请解释为什么会这样?如何避免这种情况?

java apache-camel out-of-memory buffer jsch
© www.soinside.com 2019 - 2024. All rights reserved.