List of usage examples for org.apache.commons.net.ftp FTPClient setDefaultTimeout
public void setDefaultTimeout(int timeout)
From source file:org.sipfoundry.preflight.FTP.java
public ResultCode validate(int timeout, NetworkResources networkResources, JournalService journalService, InetAddress bindAddress) { ResultCode results = NONE;//from w w w . ja va 2s .c o m InetAddress ftpServerAddress = null; String testFile = new String("00D01EFFFFFE"); String[] verificationStrings = { "LIP-68XX configuration information", "[VOIP]", "outbound_proxy_server", "[PROVISION]", "decrypt_key" }; if (networkResources.configServer == null) { journalService.println("No FTP server provided, skipping test.\n"); return CONFIG_SERVER_MISSING; } journalService.println("Starting FTP server test."); if (IPAddressUtil.isLiteralIPAddress(networkResources.configServer)) { try { ftpServerAddress = InetAddress.getByName(networkResources.configServer); } catch (UnknownHostException e) { // Should never get here. e.printStackTrace(); } journalService.println("Using FTP server literal address: " + networkResources.configServer); } else { // Try to retrieve A RECORD for FTP server, checking each DNS server. SimpleResolver resolver = null; try { resolver = new SimpleResolver(); resolver.setLocalAddress(bindAddress); resolver.setTimeout(timeout); } catch (UnknownHostException e) { e.printStackTrace(); } for (InetAddress dnsServer : networkResources.domainNameServers) { journalService.println( "Looking up FTP server address via DNS server: " + dnsServer.getCanonicalHostName()); String targetMessage = new String(" FTP server address \"" + networkResources.configServer + "\""); resolver.setAddress(dnsServer); Lookup aLookup = null; try { aLookup = new Lookup(networkResources.configServer, Type.A); } catch (TextParseException e) { journalService.println(" is malformed.\n"); journalService.println(targetMessage); return FTP_ADDRESS_MALFORMED; } aLookup.setResolver(resolver); Record[] aRecords = aLookup.run(); switch (aLookup.getResult()) { case Lookup.SUCCESSFUL: if (aRecords != null) { InetAddress targetAddress = ((ARecord) aRecords[0]).getAddress(); targetMessage += " resolves to: " + targetAddress.getHostAddress(); journalService.println(targetMessage); if (ftpServerAddress == null) { ftpServerAddress = targetAddress; } else { // Check that multiple lookups result in same // address. if (!ftpServerAddress.equals(targetAddress)) { journalService.println(" FTP server address does not match prior lookup."); results = MULTIPLE_CONFIG_TARGETS; } } } else { targetMessage += " could not be resolved."; journalService.println(targetMessage); results = FTP_TARGET_UNRESOLVED; } break; case Lookup.UNRECOVERABLE: targetMessage += " [Unrecoverable error]"; journalService.println(targetMessage); results = FTP_TARGET_UNRESOLVED; break; case Lookup.TRY_AGAIN: targetMessage += " [Lookup timeout]"; journalService.println(targetMessage); results = FTP_TARGET_UNRESOLVED; break; case Lookup.HOST_NOT_FOUND: targetMessage += " could not be resolved."; journalService.println(targetMessage); results = FTP_TARGET_UNRESOLVED; break; case Lookup.TYPE_NOT_FOUND: targetMessage += " could not be resolved."; journalService.println(targetMessage); results = FTP_TARGET_UNRESOLVED; break; } } } if ((ftpServerAddress == null) || (results == MULTIPLE_CONFIG_TARGETS)) { journalService.println("Cannot recover from previous errors, aborting FTP test.\n"); return results; } journalService.println("Beginning FTP get request of test file: " + testFile); // Open the FTP connection. FTPClient ftp = new FTPClient(); ftp.setDefaultTimeout(timeout * 1000); ftp.addProtocolCommandListener(new PrintCommandListener(journalService)); try { int reply; ftp.connect(ftpServerAddress, 21, bindAddress, bindPort); // After connection, check reply code to verify. reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); journalService.println("FTP client failure: " + reply + "\n"); return FTP_CLIENT_FAILURE; } } catch (IOException e) { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { // Ignore. } } journalService.println("FTP client failure: " + e.getMessage() + "\n"); return FTP_CLIENT_FAILURE; } try { if (!ftp.login(ftpUser, ftpPassword)) { ftp.logout(); journalService.println("FTP client unable to log in.\n"); return FTP_GET_FAILED; } journalService.println("FTP client connected to: " + ftp.getSystemName()); ftp.enterLocalPassiveMode(); ByteArrayOutputStream output = new ByteArrayOutputStream(); ftp.retrieveFile(testFile, output); // After receiving, check reply code to verify. int reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); journalService.println("FTP get failure: " + reply + "\n"); return FTP_GET_FAILED; } ftp.logout(); String testFileContents = output.toString(); boolean verified = true; for (String verificationString : verificationStrings) { if (!testFileContents.contains(verificationString)) { verified = false; } } if (verified) { journalService.println("File received successfully."); } else { journalService.println("File received but contents do not verify."); System.err.println(testFileContents); results = FTP_CONTENTS_FAILED; } } catch (FTPConnectionClosedException e) { journalService.println("FTP server closed connection prematurely.\n"); return FTP_GET_FAILED; } catch (IOException e) { journalService.println("FTP client failure. " + e.getMessage() + "\n"); return FTP_CLIENT_FAILURE; } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { // Ignore. } } } journalService.println(""); return results; }
From source file:org.syncany.tests.connection.plugins.ftp.EmbeddedTestFtpServer.java
public static void mkdir(String path, String user) throws SocketException, IOException { FTPClient ftp = new FTPClient(); ftp.setConnectTimeout(3000);/*from ww w. j a va2 s . c o m*/ ftp.setDataTimeout(3000); ftp.setDefaultTimeout(3000); ftp.connect(HOST, PORT); ftp.login(user, PASSWORD1); ftp.enterLocalPassiveMode(); ftp.setFileType(FTPClient.BINARY_FILE_TYPE); // Important !!! ftp.makeDirectory(path); ftp.disconnect(); ftp = null; }
From source file:org.syncany.tests.plugins.ftp.EmbeddedTestFtpServer.java
public static void createTestFile(String path, String user) throws SocketException, IOException { FTPClient ftp = new FTPClient(); ftp.setConnectTimeout(3000);/*from w w w . java2 s . c o m*/ ftp.setDataTimeout(3000); ftp.setDefaultTimeout(3000); ftp.connect(HOST, PORT); ftp.login(user, PASSWORD1); ftp.enterLocalPassiveMode(); ftp.setFileType(FTPClient.BINARY_FILE_TYPE); // Important !!! ftp.storeFile(path, new ByteArrayInputStream(new byte[] { 0x01, 0x02 })); ftp.disconnect(); ftp = null; }
From source file:org.teiid.resource.adapter.ftp.FtpManagedConnectionFactory.java
private void beforeConnectProcessing(FTPClient client) throws IOException { client.configure(this.config); if (this.connectTimeout != null) { client.setConnectTimeout(this.connectTimeout); }//from w ww .jav a 2 s .c om if (this.defaultTimeout != null) { client.setDefaultTimeout(this.defaultTimeout); } if (this.dataTimeout != null) { client.setDataTimeout(this.dataTimeout); } client.setControlEncoding(this.controlEncoding); if (this.isFtps) { FTPSClient ftpsClient = (FTPSClient) client; ftpsClient.execPBSZ(0); ftpsClient.execPROT(this.execProt); } }
From source file:ro.kuberam.libs.java.ftclient.FTP.FTP.java
public <X> X connect(URI remoteHostUri, String username, String password, String remoteHost, int remotePort, String options) throws Exception { long startTime = new Date().getTime(); X abstractConnection = null;//w ww. j av a2s. co m FTPClient ftpConnection = new FTPClient(); try { remotePort = (remotePort == -1) ? (int) 21 : remotePort; ftpConnection.setDefaultTimeout(60 * 1000); ftpConnection.setRemoteVerificationEnabled(false); // FTPconnection.setSoTimeout( 60 * 1000 ); // FTPconnection.setDataTimeout( 60 * 1000 ); ftpConnection.connect(remoteHost, remotePort); ftpConnection.login(username, password); ftpConnection.enterLocalPassiveMode(); ftpConnection.setFileType(FTPClient.BINARY_FILE_TYPE); // FTPconnection.setControlKeepAliveTimeout(300); // Check reply code for success int reply = ftpConnection.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftpConnection.disconnect(); throw new Exception(ErrorMessages.err_FTC005); } else { abstractConnection = (X) ftpConnection; } } catch (IOException se) { if (ftpConnection.isConnected()) { try { ftpConnection.disconnect(); } catch (IOException ioe) { throw new Exception(ErrorMessages.err_FTC005); } } } log.info("The FTP sub-module connected to '" + remoteHostUri + "' in " + (new Date().getTime() - startTime) + " ms."); return abstractConnection; }