Netty 3.5和Netty 3.6之间的Bootstrap.releaseExternalResources()是否有变化?

时间:2013-03-04 15:10:05

标签: netty

在使用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();
}

1 个答案:

答案 0 :(得分:0)

是的,有一些变化..但是在引导程序上调用releaseExternalResources()应该像预期的那样关闭所有内容。如果不是这样,请打开错误报告