Tomcat 通过listener 启动netty 服务

web.xml 配置

<listener>  
        <listener-class>com.bimatrix.revit.netty.NettyListener</listener-class>  
    </listener>  


类NettyListener

public class NettyListener implements ServletContextListener {
	@Override
	public void contextInitialized(ServletContextEvent sce) {
		System.err.println("nettyListener Startup!");
		new Thread(){
			@Override
			public	void run(){
				try {
					new EchoServer(9000).run();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}.start();
	
		System.err.println("nettyListener end!");
	}

	@Override
	public void contextDestroyed(ServletContextEvent sce) {

	}
}



其中EchoServer是个netty 服务器类

具体写法参考 http://blog.csdn.net/albertfly/article/details/51526322


netty启动 不能再主线程里面 会阻塞 tomcat的启动


ps:

可以在tomcat启动的时候写个listener  在listener里启动netty服务  
   不要在tomcat主线程启动 那样会锁死后面的操作  可以 new Thread() {  启动netty服务 }.start()

你可能感兴趣的:(Tomcat 通过listener 启动netty 服务)