commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mehmet dongel <mdon...@yahoo.com>
Subject Timeout Problem
Date Tue, 03 May 2005 16:57:51 GMT
Please Help...
Hi Everyone.
I want to set ftp timeout value by setDataTimeout() method. Download file size 89 MB and takes
20-25 sec (20000-25000 msec) to download. when I use  client.setDataTimeOut(1000) , FtpGet
performed. I expect time out exception or CopyStreamm exception.

Code is below

/*
 * Created on May 3, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author mehmetd
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.commons.net.ftp.*;




public class FtpMain {

	   
	  
	   
	public void run() throws Exception  {
		FTPClient client = new FTPClient ();
		
		client.connect ("10.56.32.135", 21);
		
        int reply = client.getReplyCode ();
        
        if (false == FTPReply.isPositiveCompletion (reply)) {
            client.disconnect ();
            throw new Exception (
                "Failed to open, server response: " + reply);
        }
        
        client.setDataTimeout (1000);
        if (false == client.login ("anonymous", "anonymous")) {
            throw new Exception ("login failed");
        }
        try {
        client.setFileType (FTPClient.BINARY_FILE_TYPE);
        client.changeWorkingDirectory ("/pub");
        File localFile = new File ("mlocalfile");
        
        FileOutputStream os = null;
        
        try {
            os = new FileOutputStream(localFile);
            try {
                
                long t1 = System.currentTimeMillis ();
            	if (false == client.retrieveFile ("filename", os)) { // file is 89 MB
                    throw new Exception ("File " + "as" + 
                        " couldn't be retrieved. Possible reasons: " +
                        "directory or file does not exist");
                }
                os.flush ();
                long t2 = System.currentTimeMillis ();
                
                System.out.println(t2-t1);
               
            } catch (IOException ioex){
            	ioex.printStackTrace();
            }
            finally {
                client.setDataTimeout (0);
               
                os.close ();
            }
        } catch (Exception e) {
         e.printStackTrace();
        }
        } catch(FTPConnectionClosedException ex){
        	ex.printStackTrace();
        }
		
	}
	
	
	public static void main(String[] args) {
		try {
		new FtpMain().run();
		} catch(Exception ex){
			ex.printStackTrace();
		}
	}
}


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message