使用commons-pool2封装的sftp连接池和springboot启动器

介绍

启动器基于springboot2.1.3.RELEASE

项目地址

使用方法

直接使用

项目已经发布到maven中央仓库,直接在pom.xml中引用即可

<dependencies>
    <dependency>
        <groupId>com.xzixi</groupId>
        <artifactId>sftp-pool-spring-boot-starter</artifactId>
        <version>1.0</version>
    </dependency>
</dependencies>

修改后使用

  1. 下载项目

    打开git bash窗口,执行命令git clone git@gitee.com:xuelingkang/sftp.git

  2. 编译并安装到本地maven仓库

    进入工程目录,打开cmd窗口,执行命令mvn clean install -Dmaven.test.skip=true

  3. 在自己的项目中引用

<dependencies>
    <dependency>
        <groupId>com.xzixi</groupId>
        <artifactId>sftp-pool-spring-boot-starter</artifactId>
        <version>1.0</version>
    </dependency>
</dependencies>

yml配置

sftp-pool:
  # 主机ip
  host: 192.168.234.201
  # 端口号
  port: 22
  # 用户名
  username: root
  # 密码
  password: root
  # 连接池配置
  pool:
    # 对象最大数量
    max-total: 20
    # 最大空闲对象数量
    max-idle: 10
    # 最小空闲对象数量
    min-idle: 5
    # 表示使用FIFO获取对象
    lifo: true
    # 不使用lock的公平锁
    fairness: false
    # 获取一个对象的最大等待时间
    max-wait-millis: 5000
    # 对象最小的空闲时间
    min-evictable-idle-time-millis: -1
    # 驱逐线程的超时时间
    evictor-shutdown-timeout-millis: 10000
    # 对象最小的空间时间,保留最小空闲数量
    soft-min-evictable-idle-time-millis: 1800000
    # 检测空闲对象线程每次检测的空闲对象的数量
    num-tests-per-eviction-run: 3
    # 在创建对象时检测对象是否有效
    test-on-create: false
    # 在从对象池获取对象时是否检测对象有效
    test-on-borrow: false
    # 在向对象池中归还对象时是否检测对象有效
    test-on-return: false
    # 在检测空闲对象线程检测到对象不需要移除时,是否检测对象的有效性
    test-while-idle: true
    # 空闲对象检测线程的执行周期
    time-between-eviction-runs-millis: 600000
    # 当对象池没有空闲对象时,新的获取对象的请求是否阻塞
    block-when-exhausted: true
    # 是否注册JMX
    jmx-enabled: false
    # JMX前缀,当jmxEnabled为true时有效
    jmx-name-prefix: pool
    # 使用jmxNameBase + jmxNamePrefix + i来生成ObjectName,当jmxEnabled为true时有效
    jmx-name-base: sftp
  # 废弃对象跟踪配置
  abandoned:
    # 从对象池中获取对象的时候进行清理
    remove-abandoned-on-borrow: true
    # 池维护(evicor)是否执行放弃的对象删除
    remove-abandoned-on-maintenance: true
    # 对象被获取后多长时间没有返回给对象池,则放弃对象
    remove-abandoned-timeout: 300
    # 是否记录放弃对象的应用程序代码的堆栈跟踪
    log-abandoned: false
    # 是否记录完整堆栈信息,当logAbandoned为true时有效
    require-full-stack-trace: false
    # 如果池实现了org.apache.commons.pool2.UsageTracking接口,是否记录完整堆栈信息用来辅助调试废弃对象,当logAbandoned为true时有效
    use-usage-tracking: false

详细用法请参考源码注释和案例工程sfpt-pool-demo

欢迎提出宝贵意见

如果我的代码对您有帮助,希望给我个star,谢谢!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值