# 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 调用方式
```
```
本链接池由济南汉驰信息科技有限公司编写本着开源原则欢迎探讨。