Spring MVC를 사용하여 응용 프로그램을 개발하고 있습니다. 비즈니스 프로세스에서는 응용 프로그램 서버에서 웹 서버로 검색해야하는 이미지 파일이 생성됩니다. 나는 간단한 방법으로 그것을하기 위해 commons-net api를 사용하고있다.다중 스레드, 다중 사용자 웹 응용 프로그램에서 java : 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