2011-01-05 8 views
1

Ftp 다운로드 독립 실행 형 응용 프로그램을 사용해 보았는데 정상적으로 작동합니다. 그러나 웹 애플리케이션의 Quartz 스케쥴러에이를 포함 시켰을 때, 그것은 붙어 있습니다.Quartz scheduler로 FTP를 통해 파일을 다운로드하십시오.

내가 한 일은 다음과 같습니다. 내가 서버를 시작하면

public class FtpTransfer implements StatefulJob { 
public void execute(JobExecutionContext arg0) throws JobExecutionException { 
    FTPClient ftp = new FTPClient(); 
    FileOutputStream br = null; 
    try 
    { 
     ftp.connect("localhost"); 
     ftp.login("admin", "admin"); 
     String path = "alfresco/MYPUB/Admin/TMM/Pickup"; 
     ftp.setFileType(FTPClient.BINARY_FILE_TYPE); 
     ftp.changeWorkingDirectory(path); 
     System.out.println("After Changing Directory path"); 
     FTPFile[] ftpFile = ftp.listFiles(path); 
     System.out.println("After getting list of files"); 
     System.out.println("Length : "+ftpFile.length); 
     System.out.println("----------------- Downloaded -------------"); 
     for(FTPFile tempFtpFiles : ftpFile) { 
      br = new FileOutputStream("e:\\Downloaded\\"+tempFtpFiles.getName()); 
      ftp.retrieveFile(tempFtpFiles.getName(), br); 
      System.out.println(tempFtpFiles.getName()); 
     } 
     System.out.println("------------------------------------------"); 

    } 
    catch(Exception exception) { 
     System.out.println("Error : "+exception); 
    } finally { 
     try { 
      if(br!=null){ 
       br.close(); 
      } 
      ftp.disconnect(); 
     } catch(IOException e) { 
      e.printStackTrace(); 
      System.out.println("Error : "+e); 
     } 
    } 
} 
} 

은, 그것은

After Changing Directory path 
After Changing Directory path 
After Changing Directory path 

마다 10 초를 인쇄합니다. 그러나 주어진 경로에서 파일을 다운로드하지는 않습니다. Mailnly 프로그램이 FTPFile [] ftpFile = ftp.listFiles (path) 라인을 넘지 않았습니다. 나는 무엇을 잘못 했는가?

+1

활성 또는 수동 ftp를 사용해야하는지 여부를 확인하십시오. 방화벽/net 게이트웨이가 활성 FTP를 차단하고 있다면 차단하고 결국 시간 초과 될 것입니다. 수동 FTP로 전환하는 것이 일반적으로 해당됩니다. – nos

+0

nos와 동의하면 다음 FTPClient 메소드가 도움이되는지 확인하십시오. http://commons.apache.org/net/api/org/apache/commons/net/ftp/FTPClient.html#enterLocalPassiveMode%28%29 – kvista

답변

1

의견을 보내 주셔서 감사합니다. 나는 그 문제를 발견했다. lib에 jakarta-oro.jar이 포함 된 후 작동합니다.

+0

감사합니다 kelly vista and nos. – i2ijeya

관련 문제