【问题标题】:Monitoring an FTP server folder with JBoss?使用 JBoss 监控 FTP 服务器文件夹?
【发布时间】:2023-11-09 02:29:01
【问题描述】:

我在 JBoss AS7 上独立运行 Java 应用程序。应用程序需要监控 FTP 文件夹并获取新文件。

我知道使用 commons-net FTPClient 连接到 FTP 服务器,但我很好奇,有没有办法在“企业 Java”世界中做到这一点?例如,在 JBoss 中将 FTP 服务器配置为“数据源”,类似于数据库?

通过谷歌搜索,我发现诸如 JBoss ESB 之类的东西可以与 JBoss AS 一起使用,您可以为此配置一个“FTP 侦听器”来监控文件——这是前进的方向吗? (目前没有安装 JBoss ESB)

我也遇到过使用 JCA 的概念,例如“Oracle jca adapter for files/ftp”,其中提到与 JBoss 兼容,但网上似乎很少有关于它的信息。另一个是“jca-for-ssh”,但似乎只支持出站连接。

我是否正在以正确的方式/谷歌搜索正确的事情?任何指向正确方向的指针都非常感谢。谢谢

【问题讨论】:

标签: java jboss ftp


【解决方案1】:

有两种方法可以做到。

人们会使用 Java 7 FileWatcher。这将是一个高效的、基于事件的解决方案。

另一个会有一个定时任务,它会定期唤醒,检查目录中的文件,处理它们,然后重新进入睡眠状态。

JBoss 不是我的第一个想法,但可以将其中任何一个合并到某种对象中并部署在 JBoss 上。

【讨论】:

  • 感谢您的回答,您给了我很多思考 :) 我发现我无法让 FileWatcher 使用远程 FTP 文件夹,尽管它在使用时肯定是一个有效的解决方案本地文件夹(据我了解,它使用底层文件系统的功能来检测新文件)。我决定使用commons-net FTPClient 使用ejb 计划的方法定期检查FTP 文件夹。再次感谢