自定义springboot整合ftpclient启动器starter

最近在自己瞎完的过程中需要用到FtpClient上传和下载文件到阿里云上的FTP服务器,配置连接登录十分有点繁琐,就想用池管理一下这些FtpClient,于是动手写了个整合FtpClient和commons-pool2的启动器sprig-boot-starter。

实现过程如下:

1. 使用Apache-commons-pool2实现FtpClient连接池。主要包含以下内容:
  1. 池化对象即FTPClient对象
  2. 定义池化工厂FTPClientFactory 继承 BasePooledObjectFactory ,重写create,warp,destroyObject,validateObject四个方法
  3. 配置FTPClientPool作为对象池,在构造方法中注入GenericObjectPool ftpClientPool,重写get 和return 两个方法。
2. 自定义spring-boot-starter
  1. 连接ftp服务器的参数,以及配置池的参数反正FTPProperties,和PoolProperties两个类中,加上@ConfigurationProperties配置自动读取配置文件
  2. 配置自动装配类FTPAutoConfiguration,配合@EnableConfigurationProperties({FTPProperties.class, PoolProperties.class})读入两个配置类
  3. 将上传下载的方法放在FTPUtils类中,在自动装配类里通过@Bean注解注入spring容器

然后maven install 导出就完工了,在需要的地方导入一下依赖,配置application.yml,注入FTPUtil就可以注解使用。

<dependency>
	<groupId>com.sabotz</groupId>
	<artifactId>sabotz-ftp-spring-boot-starter</artifactId>
	<version>1.4.0-SNAPSHOT</version>
</dependency>
sabotz-ftp:
  server:
    host: ---.---.---.---
    username: ------
    password: ------
    port: --
@Autowired
private FTPUtils ftpUtils;

代码地址:https://github.com/Sabot1203/sabotz-ftp-spring-boot-starter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值