Jan*_*anx 14 file apache-camel
我想监视给定目录中的所有文件以进行更改,即更新的时间戳.这个用例对于使用文件组件的Camel来说似乎很自然,但我似乎找不到配置此行为的方法.
一个uri喜欢:
file:/some/directory
Run Code Online (Sandbox Code Playgroud)
将使用提供的目录中的文件,但将删除它们.
一个uri喜欢:
file:/some/directory?noop=true
Run Code Online (Sandbox Code Playgroud)
在添加每个文件或路由启动时消耗每个文件一次.
令人惊讶的是,没有一个选项
consumeOnChange=true
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法来监控文件更改而不是在使用后删除文件?
Cla*_*sen 18
您可以通过设置idempotentKey来告诉Camel如何将文件视为已更改.例如,如果文件大小更改,或其时间戳更改等.
有关详细信息,请参阅Camel文档文档:http://camel.apache.org/file2
请参阅避免多次读取同一文件(幂等消费者)一节.并阅读有关幂等和幂等关键的内容.
所以类似的东西
from("file:/somedir?noop=true&idempotentKey=${file:name}-${file:size}")
Run Code Online (Sandbox Code Playgroud)
要么
from("file:/somedir?noop=true&idempotentKey=${file:name}-${file:modified}")
Run Code Online (Sandbox Code Playgroud)
您可以在这里阅读有关您可以使用的各种$ {file:xxx}令牌:http://camel.apache.org/file-language.html
| 归档时间: |
|
| 查看次数: |
11716 次 |
| 最近记录: |