1

我已经使用 J2ssh 库(0.2.7)在我的应用程序中建立 NETCONF 连接。在配置文件监视时,我注意到在 j2ssh 会话的 disconnect() 中很少有线程被阻塞。这不是一个一致的问题,它有时会发生。

我在堆栈跟踪下面给出了。

Thread-116 (HornetQ-client-global-threads-1530142454) - priority:10 - threadId:0x00007f7e34065000 - nativeId:0x75aa - state:BLOCKED
stackTrace:
java.lang.Thread.State: BLOCKED (on object monitor)
at com.sshtools.j2ssh.transport.TransportProtocolCommon.sendMessage(Unknown Source)
- waiting to lock <0x0000000600164f20> (a com.sshtools.j2ssh.transport.TransportProtocolClient)
at com.sshtools.j2ssh.transport.TransportProtocolCommon.sendDisconnect(Unknown Source)
at com.sshtools.j2ssh.transport.TransportProtocolCommon.disconnect(Unknown Source)
at com.sshtools.j2ssh.SshClient.disconnect(Unknown Source)
at com.test.server.protocol.communication.MyNetconfSession.close(MyNetconfSession.java:106)
4

1 回答 1

2

您正在使用一个 10 年未维护的 SSH 库。如果这是一个问题,它将永远无法解决。

出于安全原因,您应该在https://github.com/sshtools/j2ssh-maverick升级到替换库

新版本中可能不存在该问题,但至少如果存在问题,您可以报告问题,因为该项目仍处于活动状态。

于 2018-09-12T12:47:11.477 回答