美文网首页
大数据传输-FTP连接池

大数据传输-FTP连接池

作者: 何亮hook_8285 | 来源:发表于2021-09-15 00:00 被阅读0次

场景

因公司项目需要开发FTP模块,通过FTP方式同步数据到安防内外,之前使用commons-net框架发现程序运行一段时候出现421的错误。1.排除原因发现是FTP连接一段时间后自动断开,无法重来。2.FTP服务器连接数量过多导致程序中断。为了解决以上问题只好自己写了一个FTP连接池管理。此项目已在生产环境使用,每天处理1T数据。

实现功能

1.FTP上传、下载、目录列表、切换目录、登录、注销、创建文件夹、删除、判断文件是否存在等

2.FTP连接池管理、支持重连、连接数量分配、连接超时限制

3.FTP模式切换,支持主动和被动两种模式。

代码地址

https://gitee.com/heliang230/ftp-pool.git

使用方式

application.properties 配置文件

#是否开启ftp,true开启,false关闭
ftp.enable=true
#你的ip地址
ftp.client.ip=127.0.0.1
#你的端口
ftp.client.port=21
#你的用户名
ftp.client.username=admin
#你的密码
ftp.client.password=admin
#字符编码
ftp.client.charset=UTF-8
#0主动 1被动 ,默认是主动模式,根据具体环境选择,如果不清楚FTP模式,可参考 https://www.cnblogs.com/rainman/p/11647723.html
ftp.client.model=1
#连接超时时间,注意这边不要设置0,如果FTP服务断口后,可能会导致ftp连接池自检失败
ftp.client.connectionTimeout=3000
#Socket连接超时时长,如果FTP服务断口后,可能会导致ftp连接池自检失败
ftp.client.soTimeout=3000
#连接池最大值
ftp.pool.maxTotal=20
#连接池中最大空闲的连接数
ftp.pool.maxIdle=10
#连接池中最少空闲的连接数,默认为0
ftp.pool.minIdle=5

业务代码

 //注入FTP连接池对象,通过此对象可以获取FTP操作对象
  @Autowired
  private FtpClientDataSource dataSource;

相关文章

  • 大数据传输-FTP连接池

    场景 因公司项目需要开发FTP模块,通过FTP方式同步数据到安防内外,之前使用commons-net框架发现程序运...

  • FTP协议

    FTP服务器的模式 FTP服务器工作端口 TCP21 命令传输端口 TCP20 数据传输端口 主动模式 FTP主动...

  • FTP连接池

    参考:https://blog.csdn.net/eakom/article/details/79038590一、...

  • Nagle算法与delay-ack

    tcp数据传输分为两种: 交互数据传输交互数据就是发送控制命令的数据流,如telnet、ftp等;利用Nagle算...

  • 关于数据库连接池一些归纳

    在客户端与服务端之间,我们一般都会创建若干连接并提前放置到连接池中,从而需要时可以从连接池直接获取,数据传输完成后...

  • java实现ftp连接池

    前言 由于工作需要使用到ftp服务,一开始是每次建立ftp连接,上传文件成功后,再释放连接,后来发现这个方法太浪费...

  • socket 备忘

    TCP和UDP 1 tcp面向连接,保证可靠,顺序无差错的可靠数据传输,常见的实现有http ftp。 2 ud...

  • SecureFX for Mac 8.5.3 共享版 – FTP

    下载地址:风云社区 SecureFX 是一款支持普通FTP标准和安全数据传输标准(SFTP 或者 在SSH2 上的...

  • cpolar FTP内网穿透

    由于FTP协议是个多端口协议,它需要侦听本地TCP 21端口和一个数据传输端口段(1024-65535),所以通常...

  • sersync基于rsync+inotify实现数据实时同步

    前言 提到数据同步就必然会谈到rsync,一般简单的服务器数据传输会使用ftp/sftp等方式,但是这样的方式效率...

网友评论

      本文标题:大数据传输-FTP连接池

      本文链接:https://www.haomeiwen.com/subject/lnnhgltx.html