FTPClient ftpClient = pooledObject.getObject(); try { return ftpClient.sendNoOp(); } catch (IOException e) { return false; } } //初始化连接 @Override public void activateObject(PooledObject<FTPClient> pooledObject) throws Exception { FTPClient ftpClient = pooledObject.getObject(); String ...
Executor.class:ThreadPoolExecutorAdapter->ThreadPoolExecutor->AbstractExecutorService->ExecutorService->Executor(这样的模式,最终底层为Executor.class,在替换默认的线程池时,需设置默认的线程池名称为TaskExecutor) TaskExecutor.class:ThreadPoolTaskExecutor->SchedulingTaskExecutor->AsyncTaskExecutor->TaskExecutor(这样的...
package com.example.config; import com.example.ftp.SftpFactory; import com.example.ftp.SftpHelper; import com.example.ftp.SftpPool; import com.example.ftp.SftpProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; i...
/** * fileName:ftpPool * description:FTP连接池 * 1.可以获取池中空闲链接 * 2.可以将链接归还到池中 * 3.当池中空闲链接不足时,可以创建链接 * author:hcq * createTime:2019-03-16 9:59 */ @Component public class FtpPool { FtpClientFactory factory; private final GenericObjectPool<FTPClient>...
说明:通过GenericObjectPool实现的FTP连接池,记录一下以供以后使用 环境: JDK版本1.8 框架:springboot2.1 文件服务器: Serv-U 1.引入依赖 <!--ftp文件上传--> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId>
ftpClient连接池实现,队列缓存4个ftpClient连接,设置了超时时间,长时间不用的情况下,会释放ftp链接资源。下一波任务来时,会先检查,如果ftpClient不通、或者关闭,会重新申请缓存。 packagecom.asiainfo.datacollection.ftppool;importlombok.extern.slf4j.Slf4j;importorg.apache.commons.net.ftp.FTPClient;importorg.ap...
最近在写一个FTP上传工具,用到了Apache的FTPClient,但是每个线程频繁的创建和销毁FTPClient对象对服务器的压力很大,因此,此处最好使用一个FTPClient连接池。仔细翻了一下Apache的api,发现它并没有一个FTPClientPool的实现,所以,不得不自己写一个FTPClientPool。下面就大体介绍一下开发连接池的整个过程,供大家参考。
最近在写一个FTP上传工具,用到了Apache的FTPClient,但是每个线程频繁的创建和销毁FTPClient对象对服务器的压力很大,因此,此处最好使用一个FTPClient连接池。仔细翻了一下Apache的api,发现它并没有一个FTPClientPool的实现,所以,不得不自己写一个FTPClientPool。下面就大体介绍一下开发连接池的整个过程,供大家参考。
springboot2.1.3配置sftp自定义sftp连接池的详细过程 项目地址 项目地址:https://gitee.com/xuelingkang/spring-boot-demo 完整配置参考com.example.ftp包 maven: com.jcraft jsch 0.1.55<http://;/version> org.apache.commons commons-pool2 2.6.1 ...
host: server02# 服务器ipport:22# ssh端口username: demofile# 用户名password: demo# 密码# 连接池参数pool:max-total:10max-idle:10min-idle:5 AI代码助手复制代码 SftpProperties packagecom.example.ftp;importcom.jcraft.jsch.ChannelSftp;importlombok.Data;importorg.apache.commons.pool2.impl.GenericObject...