在使用netty 3.6关闭我的netty应用程序时,进程不会在我的服务器和/或客户端bootstraps上调用releaseExternalResources()时终止。 (该项目使用ClientBootstrap和ServerBootstrap。在测试时,进程在第一次调用bootstrap关闭时进入无限循环)
我可以清楚地把它归结为netty,因为它取决于我在项目的POM中只更改版本号3.5到3.6。在这个案子中有没有人提示我?
祝你好运
编辑:单元测试如何创建bootstrap并共享在Netty 3.5下运行但不与Netty 3.6一起使用的线程池
@Test
public void testRelease() {
// create bootstraps
final ExecutorService pool = Executors.newFixedThreadPool(2);
final ClientBootstrap client = new ClientBootstrap(
new NioClientSocketChannelFactory(pool,
Executors.newCachedThreadPool()));
final ServerBootstrap server = new ServerBootstrap(
new NioServerSocketChannelFactory(pool,
Executors.newCachedThreadPool()));
// release resources
System.out.println("Releasing resources - client...");
client.releaseExternalResources();
System.out.println("Releasing resources - server...");
server.releaseExternalResources();
}
答案 0 :(得分:0)
是的,有一些变化..但是在引导程序上调用releaseExternalResources()应该像预期的那样关闭所有内容。如果不是这样,请打开错误报告