0

netty 3.6 を使用しているときに netty アプリケーションをシャットダウンすると、サーバーやクライアントのブートストラップで releaseExternalResources() を呼び出してもプロセスが終了しません。(プロジェクトは ClientBootstrap と ServerBootstrap を使用します。テストでは、プロセスは最初に呼び出されたブートストラップ シャットダウンで無限ループに入ります)

プロジェクトのPOMでバージョン番号3.5を3.6に変更するだけに依存しているため、明らかにnettyに下げることができます。その場合の私のヒントはありますか?

よろしく
マーティン

編集: ブートストラップを作成し、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();
}
4

1 に答える 1

0

はい、いくつかの変更がありました..しかし、ブートストラップで releaseExternalResources() を呼び出すと、期待どおりにすべてがシャットダウンされます。そうでない場合は、バグレポートを開いてください

于 2013-03-04T16:25:07.887 に答える