2016-03-30 66 views
0

我与收件人的FTP站点有业务往来,需要我在发起任何传输之前发送一系列SITE命令(大概是因为接收服务器是假定任何连接客户端也是zOS或zVM系统的旧大型机,成为它们之间的默认值),我们正在使用Mule ESB社区连接到此服务器。有谁知道这是否可以使用标准的FTP连接器?是否可以通过Mule FTP连接器发送FTP SITE命令?

样品序列:

site FIXRECFM 80 LRECL=80 RECFM=FB WRAPRECORD 

回答

1

的关键是骡子的基础FTP客户端使用org.apache.commons.net.ftp.FTPClient,这个对象支持sendSiteCommand()方法,让您发送任意SITE命令。你所需要做的就是追踪FTPClient,我相信你可以通过在Mule的FTPConnector上调用getFTP()来做到这一点。

如果您在连接发出时只需要一次SITE命令,那么您还可以创建一个自定义的Mule FTP连接工厂。这可以让你在Mule初始化FTP连接时插入一小部分额外的逻辑来使用sendSiteCommand()方法发送你的“SITE”命令。好处是,只需切换到自定义FTP连接工厂即可自动获得正确的行为 - 应用程序中不需要任何特殊逻辑。