package com.deepnighttwo.nettylearn.test; import java.net.InetSocketAddress; import java.util.concurrent.Executors; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.ChannelFactory; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelPipelineFactory; import org.jboss.netty.channel.Channels; import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory; import com.deepnighttwo.nettylearn.test.handler.DummyChannelDownstreamHandler; import com.deepnighttwo.nettylearn.test.handler.DummyChannelUpstreamHandler; import com.deepnighttwo.nettylearn.test.handler.PrintEventChannelHandler; import com.deepnighttwo.nettylearn.test.handler.SingleBytesCharactorEchoHandler; public class UncontextHandlerDemoMain { public static void main(String[] args) { ChannelFactory channelFact = new NioServerSocketChannelFactory( Executors.newCachedThreadPool(), Executors.newCachedThreadPool()); ServerBootstrap bootstrap = new ServerBootstrap(channelFact); bootstrap.setPipelineFactory(new ChannelPipelineFactory() { public ChannelPipeline getPipeline() throws Exception { return Channels.pipeline(DummyChannelDownstreamHandler.INSTANCE, DummyChannelUpstreamHandler.INSTANCE, PrintEventChannelHandler.INSTANCE, SingleBytesCharactorEchoHandler.INSTANCE); } }); bootstrap.setOption("child.tcpNoDelay", "true"); bootstrap.setOption("child.keepAlive", "true"); bootstrap.bind(new InetSocketAddress(6363)); } }