1) Never use a fixed thread pool as a parameter of a ChannelFactory. Always use a cached thread pool. 2) To limit the number of channels, close any further incoming connection in your handler's channelOpen() method.