编程语言
首页 > 编程语言> > java – 什么是Apache Camel的文件“camelLock”?

java – 什么是Apache Camel的文件“camelLock”?

作者:互联网

每当我从文件URI启动Camel路由时,我看到Camel在文件上获得“锁定”.例如,如果文件名为myinput.xml,则Camel会在同一目录中创建一个名为myinput.xml.camelLock的“锁定文件”.

>这是什么以及为什么Camel使用它?
> Camel什么时候“释放”锁定文件(删除它)?
>最重要的是,有没有办法将文件URI配置为根本不锁定(如果是,如何)?

解决方法:

希望这可以帮助你我的朋友

消费者使用readLocks,如果文件对文件具有独占读锁(即文件未在进行中或正在写入),则仅轮询文件. Camel将等待文件锁被授予,之后Camel创建一个标记文件,然后对其保持锁定,因为JDK IO API无法始终确定当前是否正在由另一个进程使用该文件.选项readLockCheckInterval可用于设置检查频率.此选项仅适用于Camel 2.8以上的FTP组件.请注意,从Camel 2.10.1开始,可以启用FTP选项fastExistsCheck来加速此readLock策略.

从Camel 2.10开始注意到读锁已更改,fileLock和rename也将使用markerFile,以确保不会拾取另一个节点(例如集群)上运行的另一个Camel使用者正在处理的文件.这仅由文件组件(而不是ftp组件)支持.

标签:java,file-io,apache-camel,filelock
来源: https://codeday.me/bug/20190624/1280273.html