每当我从 file
uri启动骆驼路由时,我都会看到骆驼在文件上获得"锁定"。例如,如果文件命名为 myinput.xml
,则骆驼在同一目录中创建一个"锁定文件",称为 myinput.xml.camelLock
。
- 这是什么,骆驼为什么使用它?
- 骆驼何时"释放"锁定文件(删除它)?
- 最重要的是,是否有一种方法可以配置文件URI完全不锁定(如果是,则为 )?
希望这可以帮助您我的朋友
readlocks由消费者使用,仅在文件上具有独家读取锁时仅轮询文件(即文件不在过程中或编写)。骆驼将等到骆驼创建标记文件后授予文件锁,然后在其上锁定锁定,骆驼保持锁定该锁定为jdk io api,不能总是确定另一个过程当前是否正在使用文件。选项ReadLockCheckInterval可用于设置检查频率。此选项仅适用于骆驼2.8的FTP组件。请注意,从骆驼2.10.1开始,可以启用FTP选项FTP选项FastExistscheck,以加速此Readlock策略。
骆驼2.10的通知读取锁更改,filelock和Rename也将使用Markerfile,以确保不拾取另一个在另一个节点上运行的骆驼消费者可能正在处理的文件(例如,例如群集)。这仅由文件组件(不是FTP组件)支持。