2016-03-30 65 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連接工廠即可自動獲得正確的行爲 - 應用程序中不需要任何特殊邏輯。