我使用Netty4.0.0.CR3实现了HTTP客户端。我正在管理一个客户端连接到服务器的池,基于某个事件,事件处理程序线程从池中选择一个连接,将HTTP请求发送到服务器,等待响应(FullHttpResponse
),然后将连接释放回池
现在我遇到的问题是,在重载下我在我的日志中得到这些warnings
,
`
15:56:59.828 nioEventLoopGroup-37-1 WARN i.n.c.nio.NioEventLoop - Slf4JLogger.warn():选择器循环中出现意外异常。 java.util.concurrent.RejectedExecutionException:事件执行程序 终止于 io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:711) 〜[netty-all-4.0.0.CR3.jar:na] at 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] at io.netty.channel.AbstractChannel $ AbstractUnsafe.close(AbstractChannel.java:750) 〜[netty-all-4.0.0.CR3.jar:na] at io.netty.channel.nio.NioEventLoop.closeAll(NioEventLoop.java:521) 〜[netty-all-4.0.0.CR3.jar:na] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:329) 〜[netty-all-4.0.0.CR3.jar:na] at io.netty.util.concurrent.SingleThreadEventExecutor $ 2.run(SingleThreadEventExecutor.java:114) [netty-all-4.0.0.CR3.jar:na] at java.lang.Thread.run(Thread.java:680) [NA:1.6.0_45]
`
现在,我想要问的是,这些警告是否会产生任何问题,如果有任何指示如何解决这个或我可以忽略它们。
问候!!
答案 0 :(得分:3)
我认为在处理所有请求之前关闭EventLoopGroup。请务必使用EventLoopGroup.shutdownGracefully()。
如果在处理完所有事件之前关闭EventLoopGroup,则会产生这样的错误