2012-02-10 137 views
1

我有一台服务器充当大量客户端和应用程序服务器之间的传递网关。网关使用netty,就其行为而言,它只是将从任一端收到的任何数据传递给另一端(即从客户端到服务器,反之亦然)。如果客户端或服务器关闭其连接的末端,则客户端和服务器之间建立的链接(由两个netty通道组成)将被关闭...... 我们一直在使用netty 3.2.4并且最近已升级到netty 3.2 0.7。自升级以来,我们在运行一些音量测试时开始看到java.nio.channels.ClosedChannelException。在3.2.4版本中,我们没有看到任何相同类型的测试问题。在升级到Netty 3.2.7后查看ClosedChannelException

有没有人知道可能是什么原因造成的?我遇到了来自tbocek的说明:see the last post in this link提到了类似的问题。 请帮忙。

回答

1

这是一个在3.3.0.Final中得到修复的回归。所以考虑升级到3.3.1.Final。如果您使用Maven Ou需要将org.jboss.netty中的groupId更改为io.netty

+0

感谢您的回复Norman。我发现[回复](https://github.com/netty/netty/commit/02be2523e0da44f5e0432146419056ec9609b6da)这个回归包括删除close(),它被添加到地址[this ticket](https://github.com/网状/网状/问题/ 74)。无限循环仍然是可能的吗? – Nenad 2012-02-13 15:19:45

+0

我们无法重现英菲尼迪循环。所以我认为它的安全使用.. – 2012-02-13 16:07:18

+0

@NormanMaurer我仍然面临3.3.1的问题。检查http://stackoverflow.com/questions/12560567/channelclosedexception-observered-with-netty-3-2-7-and-3-3-1-under-load – YoK 2012-09-24 07:31:56