1

我已经使用 Netty4.0.0.CR3 实现了一个 HTTP 客户端。我正在管理一个与服务器的客户端连接池,基于某个事件,事件处理程序线程从池中选择一个连接,将 HTTP 请求发送到服务器,等待响应 ( FullHttpResponse),然后将连接释放回池。

现在我面临的问题是,在繁重的负载下,我warnings在日志中得到了这些,`

15:56:59.828 nioEventLoopGroup-37-1 WARN incnio.NioEventLoop - Slf4JLogger.warn() :选择器循环中的意外异常。java.util.concurrent.RejectedExecutionException:事件执行器在 io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:711) ~[netty-all-4.0.0.CR3.jar:na] 在 io.netty 终止.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:306) ~[netty-all-4.0.0.CR3.jar:na] at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:696) ~[netty-all-4.0.0.CR3.jar:na] at io.netty.channel.AbstractChannel$AbstractUnsafe.invokeLater(AbstractChannel.java:968) ~[netty-all-4.0.0.CR3.jar:na ] 在 io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:750) ~[netty-all-4.0.0.CR3.

`
现在,我想问的是,这些警告是否会产生任何问题,如果是的话,有任何关于如何解决这个问题的指示,或者我可以忽略它们。

问候 !!

4

1 回答 1

3

我认为您在处理所有请求之前关闭 EventLoopGroup 。请务必使用 EventLoopGroup.shutdownGracefully()。

如果您在处理完所有内容之前关闭 EventLoopGroup,则会产生这样的错误

于 2013-06-29T11:00:41.763 回答