我的问题似乎与: 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/