首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何关闭使用的SSH Maverick连接对象

如何关闭使用的SSH Maverick连接对象
EN

Stack Overflow用户
提问于 2016-03-03 17:05:27
回答 2查看 305关注 0票数 0

我正在使用SSH Maverich库进行SFTP调用,并使用apache公用池封装了特立独行的对象和池连接对象。

我实现了方法来创建对象。

如何在空闲对象符合驱逐条件时关闭传输层连接?

工厂中的P.S.destroyObject不起作用。Apache共用池版本: 1.6

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-07 03:46:53

必须调用SshClient.disconnect和SftpClient.quit来关闭传输通道。

以下几点解决了我的问题。

1.在使用apache共用池时,最重要的是调用适当的生命周期方法。

2.将SshClient和SftpClient封装成池下的对象。SshClient和SftpClient必须是pool.So下的对象的实例成员,该对象是通过退出和断开对象实现BaseKeyedObjectPoolableFactory的destroyObject方法的。

代码语言:javascript
复制
class SFTPConnection{
private SshClient sshClient;
private SftpClient sftpClient;

------

public void destroyObject(){
sshClient.disconnect();
sftpClient.quit()
}


class SFTPConnectionFactory extends BaseKeyedObjectPoolableFactory{

----
public void destroyObject(Object Key,Object arg){

SFTPConnection sftpConnection = (SFTPConnection)arg;
sftpConnection.destroyObject():

}

}
票数 0
EN

Stack Overflow用户

发布于 2016-03-04 10:24:52

您使用的是什么版本的J2SSH Maverick?

然而,在所有情况下,在SshClient上调用断开连接都是必不可少的。或者根据版本的不同,您可以配置空闲超时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35778487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档