Netbeans Run-> Stop Build不会停止正在运行的java进程

时间:2012-05-08 04:23:50

标签: netbeans netty

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

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

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

结束由Netbeans开始运行的应用程序的正确程序是什么?

非常感谢您的帮助。谢谢你提前。

1 个答案:

答案 0 :(得分:0)

查看文档:{​​{3}}。向下滚动到第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.关闭时,关闭所有通道并释放资源。

希望这有帮助。