Routing 应对极度渴望的阿帕奇骆驼路线应该采取什么策略?

Routing 应对极度渴望的阿帕奇骆驼路线应该采取什么策略?,routing,routes,apache-camel,Routing,Routes,Apache Camel,在我的Camel上下文中,我创建了5条路由。每个路由都侦听指定的文件夹 设置 Route-A侦听文件夹/net中的输入文件。此文件夹位置用于通过SFTP将文件拖放到此位置的客户端。在该位置接收到文件后,路由将读取文件名,并根据名称模式,将文件移动到位置/type\u a/inbound 路由B侦听输入文件的/type_a/inbound。当文件在此位置收到时,它将根据其业务逻辑处理该文件 所有其他路线的工作原理相同 问题 在今天的提要中,有一个大文件(1.4GB)。当Route-A开始在/typ

在我的Camel上下文中,我创建了5条路由。每个路由都侦听指定的文件夹

设置

Route-A侦听文件夹
/net
中的输入文件。此文件夹位置用于通过SFTP将文件拖放到此位置的客户端。在该位置接收到文件后,路由将读取文件名,并根据名称模式,将文件移动到位置
/type\u a/inbound

路由B侦听输入文件的
/type_a/inbound
。当文件在此位置收到时,它将根据其业务逻辑处理该文件

所有其他路线的工作原理相同

问题

在今天的提要中,有一个大文件(1.4GB)。当Route-A开始在
/type_A/inbound
复制此文件时,在完成之前,Route-B开始从文件中读取。这会导致路由-B中出现错误。这不会发生,因为路由-A的路由配置已在端点中添加了
?exclude=.*.filepart“
。此
。filepart
文件不是路由-A在
/type\u A/inbound
处创建的


在复制过程完成之前,我必须阻止路由-B的哪些选项?

查看路由-B文件使用者端点的
readLock
选项-

由使用者使用,仅在文件具有独占读取锁定(即文件未进行或正在写入)时轮询文件。Camel将等待文件锁定被授予


在这种情况下,您也可以使用“完成”文件。这样,在“完成”文件出现在目录中之前,不会轮询您的大文件。以下是一个示例:

file:bar?doneFileName=${file:name}.done