Apache Camel用于检测手动删除的文件
我知道可以使用ApacheCamel监视新创建的文件和修改的文件,但是可以检测手动删除的文件吗?Apache Camel用于检测手动删除的文件,apache,apache-camel,osgi,Apache,Apache Camel,Osgi,我知道可以使用ApacheCamel监视新创建的文件和修改的文件,但是可以检测手动删除的文件吗? 我已经检查了规范,找不到任何相关内容。我发现这个问题很有趣,并实现了基于NIO.2的camel-nio2组件。请随意使用它 文档: 示例: from("nio2:/tmp/inputPath?events=ENTRY_DELETE") .process(exchange -> { FileEvent event = exchange.getIn().getBody(Fi
我已经检查了规范,找不到任何相关内容。我发现这个问题很有趣,并实现了基于NIO.2的
camel-nio2
组件。请随意使用它
文档:
示例:
from("nio2:/tmp/inputPath?events=ENTRY_DELETE")
.process(exchange -> {
FileEvent event = exchange.getIn().getBody(FileEvent.class);
log.info(event.getEventPath()+" removed");
});
你能解释一下moe的用例吗?这是关于camel文件组件的吗?一个用例是递归地监视给定目录中的文件更改。我知道这不是ApacheCamel的标准特性,但由于我们在项目中使用了Camel,所以我们也希望使用它来监视文件更改。不幸的是,据我所知,删除文件时不会触发任何交换。这确实是关于驼峰文件组件。我认为驼峰文件组件不能帮助解决这个问题。您希望文件更改触发什么?没有什么特别的,只是执行一个方法。我只是觉得很奇怪,Camel不支持这样的功能,我觉得很难实现。特别是当您想识别在系统运行和未运行时删除的文件时。您可以请求骆驼邮件列表或jira上的功能。谢谢。我们最终也实现了WatchService。似乎是目前为止最好的解决方案。