【问题标题】:Watching for files on remote shared folder using tWaitForFile使用 tWaitForFile 监视远程共享文件夹上的文件
【发布时间】:2021-06-25 09:33:45
【问题描述】:

我正在 Talend 中尝试使用 tWaitForFile 组件来监视新创建的文件。它似乎适用于本地目录(我使用的是 Windows 7)。

但是,当我将它指向像 //ps1.remotemachine.com/Continents/Africa 这样的共享文件夹时,它不起作用。它不像本地目录那样给我文件创建信号。

我错过了什么吗?

更新:

到目前为止,在我的测试中,以下是监控网络路径上的文件的观察结果:

  1. Talend tWaitForFile - 结果不一致。有时只发出通知。大多数时候,不是。
  2. Java Nio WatchService - 从 Talend 解决方案中尝试了这个。它确实会通知在网络路径上创建的文件。但是,当网络路径上要监控的文件夹数量过多时,就会开始丢失某些文件夹的事件。在我的例子中,需要监控大约 100 个文件夹。

因此,中止了上述两种方法,并坚持基于调度程序运行 Talend 作业。

【问题讨论】:

    标签: talend


    【解决方案1】:

    使用

    "\\\\ps1.remotemachine.com/Continents/Africa"

    如果你使用上下文中的值,那么你不需要加倍“\”

    在 tWaitForFile 中

    【讨论】:

    • 我尝试过使用“\\\\”和“//”,还尝试将路径放在带有“\\”的上下文变量中。它不适合我。
    • 可能是列出共享内容的访问权限?
    • 我尝试了一个使用 java.nio WatchService 的 java 程序来监视远程目录更改。通过使用它,我得到了在远程共享路径上创建文件的事件。它具有相同的设置和权限。因此,如果 tWaitForFile 在幕后使用 java.nio,那么即使它也应该得到事件,不幸的是没有发生。
    • 通过查看生成的代码,tWaitForFile 只是在执行 file.listFiles(new java.io.FilenameFilter() { ... } 。您是在寻找特定的扩展名还是任何新文件?
    猜你喜欢
    • 1970-01-01
    • 2011-09-14
    • 2011-11-25
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2022-10-15
    • 1970-01-01
    相关资源
    最近更新 更多