netty - 服务器引导释放外部资源陷入循环

标签 netty

我的问题似乎与: https://issues.jboss.org/browse/NETTY-433

我正在尝试停止我的 Netty 服务器,但此调用永远不会返回:

serverBootstrap.releaseExternalResources();

当尝试关闭工作线程 ThreadPoolExecutor 时,它会在 ExecutorUtil.terminate 方法中永远循环:

org.jboss.netty.util.internal.ExecutorUtil.terminate()
   for (;;) {
       es.shutdownNow(); 
       es.awaitTermination..
   }

问题是我无法控制连接到我的服务器的客户端。有没有办法让服务器强制服务器停止并简单地关闭 channel 并停止工作线程?

最佳答案

为了确保在执行releaseAllResources之前关闭子 channel ,您可以做的就是在ChannelGroup中注册所有创建的子 channel 。 。关机时可以调用close()在 ChannelGroup 上,这将关闭其中的所有 channel 。

关于netty - 服务器引导释放外部资源陷入循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950244/

相关文章:

java - StringEncoder 和 StringDecoder 在 netty 服务器中的正确用法是什么?

java - 累积解码器/编码器

scala - 如何使用未过滤的 netty 向响应添加 header 值,如何编写代码?

java - 如何在 Twitter Finagle 中禁用缓存?

使用 log4j 将 java 游戏室记录到单独的日志文件是个好主意吗?

Netty 出站处理程序没有被调用

Java 自定义事件处理程序和监听器

java - JBoss Netty 和 UDP : multithread?

java - 如何使用 Rest Express 中的 url 重写来重写 url

java - 我可以在非Netty线程中调用 `Channel.write()`吗?