org.jboss.netty.channel.ChannelFuture.awaitUninterruptibly()在使用SSL / TLS关闭频道时挂起

时间:2012-03-21 12:50:30

标签: java nio netty

如果我们的后端使用SSLHandler而前端不使用,则会出现此问题:

当前端连接到后端时,后端会抛出一个(预期的)异常ChannelHandler:“SSLException:不是SSL / TLS记录:47455 ......”。然后,后端会尝试关闭负责此异常的频道,但ChannelFuture.awaitUninterruptibly()返回的Channel.close()会不确定地挂起。此外,前端没有例外。 ChannelFuture的{​​{1}}完成没有任何问题。

如何在后端强制关闭此频道,为什么Channel.write()会挂起?

编辑:

Server in the frontend

Server in the backend

Channel.close()挂起,因为StatefulTcpServer.haltConnection(String connectionId)没有返回。

我们使用的是版本3.3.1.Final。

编辑2:

future.awaitUninterruptibly();挂起

时,后端中的

Thread dump

0 个答案:

没有答案