是否可以通过 Mule FTP 连接器发送 FTP SITE 命令?
Posted
技术标签:
【中文标题】是否可以通过 Mule FTP 连接器发送 FTP SITE 命令?【英文标题】:Is it possible to send an FTP SITE command through a Mule FTP connector? 【发布时间】:2016-03-30 07:41:19 【问题描述】:我与一个接收方 FTP 站点有业务往来,该站点要求我在启动任何传输之前发送一系列 SITE 命令(可能是因为接收服务器是旧的大型机,它假定任何连接的客户端也是 zOS 或 zVM 系统,这似乎作为它们之间的默认值)并且我们正在使用 Mule ESB 社区连接到该服务器。有谁知道这是否可以使用标准 FTP 连接器?
样本序列:
site FIXRECFM 80 LRECL=80 RECFM=FB WRAPRECORD
【问题讨论】:
【参考方案1】:关键是 Mule 的底层 FTP 客户端使用 org.apache.commons.net.ftp.FTPClient,并且该对象支持 sendSiteCommand() 方法,可以让您发送任意 SITE 命令。您需要做的就是寻找 FTPClient,我相信您可以通过在 Mule 的 FTPConnector 上调用 getFTP() 来完成。
如果您在发出连接时只需要一次 SITE 命令,那么您还可以创建自定义 Mule FTP 连接工厂。这使您可以插入一点额外的逻辑,以便在 Mule 初始化 FTP 连接时使用 sendSiteCommand() 方法发送您的“SITE”命令。好处是您只需切换到自定义 FTP 连接工厂即可自动获得正确的行为 - 在应用程序中不需要特殊逻辑。
【讨论】:
以上是关于是否可以通过 Mule FTP 连接器发送 FTP SITE 命令?的主要内容,如果未能解决你的问题,请参考以下文章