# ftppool **Repository Path**: lliaoliao/ftppool ## Basic Information - **Project Name**: ftppool - **Description**: ftp连接池 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2017-11-24 - **Last Updated**: 2024-07-19 ## Categories & Tags **Categories**: web-dev-toolkits **Tags**: None ## README # ftp连接池基于common-net 和 common-pool2 ftp连接池基于common-net 和 common-pool2 详细使用方法 依赖库 ``` commons-net commons-net 3.6 org.apache.commons commons-pool2 2.4.2 ``` 已经编译后的库 https://gitee.com/lliaoliao/ftppool/raw/master/bin/ftppool-1.0.jar FTPPool 类里面有详细的调用情况 eg ``` public static void main(String[] args) throws Exception { FTPPoolConfig config = new FTPPoolConfig() ; config.setHost("192.168.1.20"); config.setPort(21); config.setUsername("elen"); config.setPassword("Elen@123"); config.setPassiveMode("true"); config.setClientTimeout(300000); config.setTransferFileType(2); //config.setMaxTotal(10); config.setMaxIdle(5); config.setMinIdle(1); config.setTestOnBorrow(true); config.setTestOnReturn(true); config.setTestWhileIdle(true); config.setNumTestsPerEvictionRun(10); config.setTimeBetweenEvictionRunsMillis(60000); FTPClientFactory f = new FTPClientFactory() ; f.setConfig(config); final FTPPool pool = new FTPPool(config, f) ; for(int i = 20 ;i>0 ; i--){ Thread t = new Thread(new Runnable() { @Override public void run() { try { FTPClient ftp = pool.getPool().borrowObject() ; System.out.println(Thread.currentThread().getName()+"--获得一个"); Thread.sleep(60000); pool.getPool().returnObject(ftp); System.out.println(Thread.currentThread().getName()+"取消一个"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } },"name--"+i) ; t.start(); } System.out.println("执行完毕"); Thread.sleep(60000*20); } ``` spring 调用方式 ``` ``` 本链接池由济南汉驰信息科技有限公司编写本着开源原则欢迎探讨。