| 程序包 | 说明 |
|---|---|
| me.meilon.sftp.core | |
| me.meilon.sftp.core.conf |
| 限定符和类型 | 方法和说明 |
|---|---|
SftpConnect |
SftpPool.borrowObject(SftpConnConfig config)
从连接池中获取一个sftp链接
注意: 使用完后需要自行调用
SftpPool.returnSftp(SftpConnect) 方法交还 |
SftpConnect |
SftpPool.borrowObject(String sftpId)
从连接池中获取一个sftp链接
通过事先定义的 sftpId 获取sftp链接
如果不存在则抛出异常
注意: 使用完后需要自行调用
SftpPool.returnSftp(SftpConnect) 方法交还 |
SftpConnect |
SftpPool.borrowObject(String host,
Integer port,
String user,
String password)
从连接池中获取一个sftp链接
如果不存在则创建一个新连接
|
SftpConnect |
SftpPooledFactory.create(String sftpId)
创建 sftpConnect 对象
|
static SftpConnect |
SftpPooledFactory.createConnect(String host,
Integer port,
String user,
String password)
创建一个 sftp 链接
注: 此工厂静态方法创建的 sftp 链接不会纳管到链接池中, 注意自行关闭
|
static SftpConnect |
SftpPooledFactory.createConnect(String host,
Integer port,
String user,
String password,
String id) |
| 限定符和类型 | 方法和说明 |
|---|---|
org.apache.commons.pool2.PooledObject<SftpConnect> |
SftpPooledFactory.wrap(SftpConnect value)
使用
PooledObject 包装 sftp 链接 |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
SftpPooledFactory.closeSftp(SftpConnect sftpConnect)
通过sftp连接池工厂关闭 sftp链接
此方法会判断sftp链接是否纳管到了连接池
如果没有则直接关闭
如果有则交还给连接池
|
void |
SftpPool.invalidateObject(String sftpId,
SftpConnect sftpConnect)
使池中的对象失效,当获取到的对象被确定无效时(由于异常或其他问题),应该调用该方法
当要把一个借走的对象置为无效的时候。
|
void |
SftpPool.invalidateSftp(SftpConnect sftpConnect) |
void |
SftpPool.returnSftp(SftpConnect sftpConnect)
将使用完的sftp链接交还给连接池
|
org.apache.commons.pool2.PooledObject<SftpConnect> |
SftpPooledFactory.wrap(SftpConnect value)
使用
PooledObject 包装 sftp 链接 |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
SftpPooledFactory.activateObject(String sftpId,
org.apache.commons.pool2.PooledObject<SftpConnect> p)
激活
当Pool中决定移除一个对象交付给调用者时额外的"激活"操作,
比如可以在 activateObject方法中"重置"参数列表让调用者使用时感觉像一个"新创建"的对象一样;
如果object是一个线程,可以在"激活"操作中重置"线程中断标记",或者让线程从阻塞中唤醒等;
如果object是一个socket,那么可以在"激活操作"中刷新通道,或者对socket进行链接重建(假如socket意外关闭)等.
|
void |
SftpPooledFactory.destroyObject(String sftpId,
org.apache.commons.pool2.PooledObject<SftpConnect> p)
销毁 sftp 链接
如果对象池中检测到某个"对象"idle的时间超时,或者操作者向对象池"归还对象"时检测到"对象"已经无效,那么此时将会导致"对象销毁";
当调用此方法时,"对象"的生命周期必须结束.如果object是线程,那么此时线程必须退出;
如果object是socket操作,那么此时socket必须关闭;
如果object是文件流操作,那么此时"数据flush"且正常关闭.
|
void |
SftpPooledFactory.passivateObject(String sftpId,
org.apache.commons.pool2.PooledObject<SftpConnect> p)
"钝化"对象,当调用者"归还对象"时,Pool将会"钝化对象";
钝化的言外之意,就是此"对象"暂且需要"休息"一下.
|
boolean |
SftpPooledFactory.validateObject(String sftpId,
org.apache.commons.pool2.PooledObject<SftpConnect> p)
验证 sftp 链接是否有效
Pool中不能保存无效的"对象",因此"后台检测线程"会周期性的检测 Pool中"对象"的有效性,
如果对象无效则会导致此对象从 Pool中移除,并 destroy;
此外在调用者从Pool获取一个"对象"时,也会检测"对象"的有效性,确保不能将"无效"的对象输出给调用者;
当调用者使用完毕将"对象"归还到 Pool时,仍然会检测对象的有效性.所谓有效性,就是此"对象"的状态是否符合预期,是否可以对调用者直接使用;
如果对象是Socket,那么它的有效性就是socket的通道是否畅通/阻塞是否超时等.
|
| 构造器和说明 |
|---|
SftpPool(SftpPooledFactory factory,
org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig<SftpConnect> config) |
| 限定符和类型 | 方法和说明 |
|---|---|
org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig<SftpConnect> |
SftpPoolConfig.toGenericKeyedObjectPoolConfig() |
Copyright © 2021. All rights reserved.