【发布时间】:2019-06-16 12:17:44
【问题描述】:
用例:使用 SFTP 入站处理大量文件(每天 30K 文件)
问题:处理 20K 文件后,SFTP 入站连接器未轮询文件,它保持空闲
当前实现:我们在流级别使用了队列异步处理策略。处理 20K 文件后,流程停止。 甚至在尝试使用同步处理策略时也遇到了类似的问题。使用 minThread=8,threadWaitTimeout=-1
在 SFTP 连接器级别,我们使用了线程配置,例如 maxTreadsIdle=16,
骡运行时:3.8.3
我们在流级别使用了队列异步处理策略。处理 20K 文件后,流程停止。 甚至在尝试使用同步处理策略时也遇到了类似的问题。使用 minThread=8,threadWaitTimeout=-1
以下是我们在尝试不同方法时遇到的例外情况。
根异常堆栈跟踪: java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor 在 30000 MILLISECONDS 内没有接受
根异常堆栈跟踪: org.mule.api.service.FailedToQueueEventException:“SEDA Stage mypi_gw_formsFlow.stage1”的队列在 -1 MILLISECONDS 内不接受新事件。
【问题讨论】:
-
您使用多少核处理器?你有足够的内存吗?我猜 30 秒的间隔可能不足以处理大文件。
标签: sftp polling threadpoolexecutor mulesoft inbound