当前位置: 首页 > 知识库问答 >
问题:

Apache Camel 2.10.7-监视文件系统中文件的删除

斜博超
2023-03-14

我在servicemix中使用camel 2.10.7非常成功地将文件从本地文件系统馈送到我的应用程序。

文件应保留在文件系统上,因此我使用这样的配置。

from uri=“file:../ange data/vessers?noop=true

如果我触摸/更新文件系统上的文件,这将非常有效。

唯一的问题是:如何在我的Java代码中检测到文件已被其他人或进程从文件系统中删除?

通过研究手册页面,找不到任何提示http://camel.apache.org/file-language.html或http://camel.apache.org/file2.html-但我相信应该有可能得到关于文件删除的消息?

共有1个答案

章松
2023-03-14

您需要使用Java 7 nio2,它有一个文件监视程序api,当文件被添加/删除时,您可以在其中获得通知。

例如,在web/SO上搜索此api的详细信息

  • http://docs.oracle.com/javase/tutorial/essential/io/notification.html
 类似资料:
  • 我试图构建一个应用程序,监视文件夹及其子文件夹,以检测文件的创建或修改。要观看的文件总数将日益增加。 我曾尝试使用java nio WatchService和apache常见的FileAlteration观察者。WatchService有时会在WatchKey被获取之后和重置之前发生文件创建/修改时丢失事件。由于FileAlterationeller是基于轮询的,因此当文件计数增加时性能也会下降。

  • 文件系统是负责文件管理的操作系统的一部分。 它提供了一种机制来存储数据和访问文件内容,包括数据和程序。一些操作系统将所有内容视为Ubuntu文件。 文件系统处理以下问题 - 文件结构 - 前面已经了解可存储文件的各种数据结构。文件系统的任务是保持最佳的文件结构。 恢复可用空间 - 每当文件从硬盘中删除时,磁盘中都会创建一个可用空间。 可能有很多这样的空间需要被恢复,以便将它们重新分配给其他文件。

  • 简单的文件读写是通过uv_fs_*函数族和与之相关的uv_fs_t结构体完成的。 note libuv 提供的文件操作和 socket operations 并不相同。套接字操作使用了操作系统本身提供了非阻塞操作,而文件操作内部使用了阻塞函数,但是 libuv 是在线程池中调用这些函数,并在应用程序需要交互时通知在事件循环中注册的监视器。 所有的文件操作函数都有两种形式 - 同步(synchron

  • 文件系统提供弹性扩展的高性能文件存储服务,可为公有云上的虚拟机提供共享存储服务。 文件系统提供弹性扩展的高性能文件存储服务,可为公有云上的虚拟机提供共享存储服务。 目前已对接阿里云的NAS文件系统以及华为云的SFS弹性文件服务。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “存储/文件存储/文件系统” 菜单项,进入文件系统页面。 新建文件系统 该功能用于创建文件系统。 在文件系统

  • 文件系统组件集成了 PHP 生态中大名鼎鼎的 League\Flysystem (这也是 Laravel 等诸多知名框架的底层库)。通过合理抽象,程序不必感知存储引擎究竟是本地硬盘还是云服务器,实现解耦。本组件对常用的云存储服务提供了协程化支持。 安装 # 首先执行 composer require hyperf/filesystem # 使用阿里云 OSS 适配器时执行 composer req

  • readFile(object) 文件异步读取,批量读取接口 手Q版本:7.8.0 函数参数object属性: 属性名 类型 是否必填 说明 file Array 是 要读取的文件数组 success Function 否 接口调用成功回调 fail Function 否 接口调用失败回调 complete Function 否 接口调用完成回调 object.file 文件数组 属性名 类型 是