Spring Integration:在将文件发送到FTP时分配空间

时间:2017-06-02 20:30:09

标签: java spring ftp spring-integration

我有以下问题:

我们正在向FTP发送文件。自从我们发送大小<的文件以来,我们一直没有遇到任何问题。 5 MB。如果文件大小超过5 MB,那么我们得到一个异常终止(异常结束),得到this error

为了解决"这个问题,我们应该在将文件发送到FTP之前分配空间,做这样的事情:

QUOTE SITE BLOCKSIZE=0 LRECL=256 WRAP UNIT=DISK RECFM=VB PRI=50 SEC=50 CYL

目前我正在使用DefaultFtpSessionFactoryFileTransferringMessageHandler将文件发送到FTP(显然除非文件大于5 MB,否则效果很好)。

我的问题是:有没有办法用Spring解决这个问题?

1 个答案:

答案 0 :(得分:1)

我没有尝试过,但是看看。您可以延长DefaultFtpSessionFactory并覆盖其postProcessClientAfterConnect()

然后你可以尝试执行

FtpClient.sendSiteCommand("QUOTE");
FtpClient.sendSiteCommand("SITE");
FtpClient.sendSiteCommand("BLOCKSIZE=0");
FtpClient.sendSiteCommand("LRECL=256");

依此类推,直到你的命令结束。

您也可以查看here