在加载时使用netty 3.2.7和3.3.1观察ClosedChannelException

时间:2012-09-24 07:27:16

标签: java ssl netty nio

当我的netty服务器未加载时,一切正常。 但是在负载下它开始失败。 目前我正在使用所有默认设置(尚未设置任何选项)。请建议我是否需要设置任何处理2k +并发连接的选项(可能在加载期间非常频繁地关闭和打开)

这是堆栈跟踪与netty 3.2.7。我升级到netty 3.3.1,但它仍然失败。

  

2012-09-19 16:17:54,664新的I / O服务器工作者#1-11调试   org.jboss.netty.handler.ssl.SslHandler 42吞噬异常   在编写非应用数据时提出   java.nio.channels.ClosedChannelException:null at   org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:645)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:372)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.Channels.write(Channels.java:632)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.Channels.write(Channels.java:593)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:831)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:915)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:849)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:915)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:620)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:282)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282)   〜[netty-3.2.7.Final.jar:na] at   org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:202)   〜[netty-3.2.7.Final.jar:na] at   java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(未知来源)   [na:1.6.0_26] at   java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)   [na:1.6.0_26] at java.lang.Thread.run(Unknown Source)[na:1.6.0_26]

2 个答案:

答案 0 :(得分:1)

我认为这个问题可能是由netty中的错误引起的。我创建了一个可重现的测试用例here,现在该错误已修复在netty的3 branch上。

答案 1 :(得分:0)

ClosedChannelException表示您继续使用自己关闭的频道。请注意,它并未引用受对等方影响的连接状态:即它并不意味着对等方已关闭连接。您已关闭此频道。