我正在開發一個使用Spring MVC的應用程序。在業務流程中,會生成一個圖像文件,需要從應用程序服務器中檢索到Web服務器。我正在使用commons-net API來以簡單的方式進行操作。java:多線程,多用戶web應用程序中的FTP
public class FtpUtility{
private FTPClient ftpClient = new FTPClient();
public boolean retriveFileFromApp(String srcFile, String destFile){
boolean flag = false;
try{
connectToFtp()
File dest = new File(destFile);
if(!dest.exists())
dest.mkdirs();
if(dest.exists())
dest.delete();
FileOutputStream destStream = new FileOutputStream(dest);
ftpClient.retrieveFile(srcFile, destStream);
}
catch(Exception e){
//exception handling
}
finally{
disconnect();
}
return flag;
}
private boolean connectToFtp(){
boolean flag = false;
try{
ftpClient.connect(appserverip); // connect to ftp
flag = ftpClient.login(ftpUserId, ftpPassword);
}
catch(Exception e){
//exception handling
}
return flag;
}
private void disconnect(){
try{
ftpClient.logout();
ftpClient.disconnect();
}
catch(Exception e){
//some exception handling
}
}
}
現在同時有多個用戶使用該應用程序,將它們同時使用這個類的一個實例,然後斷開連接。即使一個用戶正在連接和斷開每個文件傳輸。
我怎樣纔能有效地做到這一點像連接一次,然後做所有傳送,然後斷開連接,無法打開和關閉每次傳輸的連接。
會使用靜態幫助嗎?如果是的話如何?
您正在連接到ftp並斷開連接。在這兩個操作之間,您可以根據需要傳遞儘可能多的文件。 –
它實際上是在每個業務流程中生成條形碼,並將條形碼轉移到網絡服務器以顯示在網頁上。無法爲一個業務流程轉移多個文件 – ares