2

我在 Mac OS X Lion 10.7.3 上使用 Netbeans 7.1.2。

我有一个简单的 java 服务器(使用 netty)项目,在构建并运行项目之后,尝试通过 Run->Stop Build 停止运行,它不会终止 java 服务器进程。

例如,我的服务器应用程序使用端口 8080,即使在我停止从 netbeans 运行后,端口 8080 仍在使用中并且应用程序继续运行。我必须从活动监视器中手动终止 java 进程。

结束由 Netbeans 启动的正在运行的应用程序的正确程序是什么?

非常感谢您的帮助。先谢谢了。

4

1 回答 1

0

查看文档: http: //netty.io/docs/stable/guide/html/。向下滚动到第 9 节。关闭您的应用程序。

您的主应用程序看起来像:

package org.jboss.netty.example.time;
public class TimeServer {
    static final ChannelGroup allChannels = new DefaultChannelGroup("time-server"(35));
    public static void main(String[] args) throws Exception {
        ...
        ChannelFactory factory = ...;
        ServerBootstrap bootstrap = ...;
        ...
        Channel channel = bootstrap.bind(...);
        allChannels.add(channel);

        ...

        // Shutdown code
        ChannelGroupFuture future = allChannels.close();
        future.awaitUninterruptibly();
        factory.releaseExternalResources();
    }
}

您的处理程序需要:

public void channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e) {
    TimeServer.allChannels.add(e.getChannel());
}

您必须: 1. 将所有频道存储在一个ChannelGroup 2. 关闭时,关闭所有频道并释放资源。

希望这可以帮助。

于 2012-05-09T02:48:43.850 回答