In my previous posts about Reverse AJAX (Server Push), we understand the Comet approach to keep server with long-live HTTP connection. It’s simple that maintains HTTP connection within client and server. But most web servers are using thread per connection that means server will consume as many as threads and block client access.
How to solve this problem? then you need to implement NIO sever. Using NIO the server will communicate by thread per request to avoid thread use. Currently the NIO severs are Jetty 6, Tomcat 6, GlassFish v3 and JBossWeb 5.

Here is how to do NIO server implementation:
1. Scalable IO in Java
2. The Reactor Pattern
3. Master Merlin’s new I/O classes
4. Merlin brings nonblocking I/O to the Java platform

and Reverse AJAX deals with NIO server
1. Write scalable Comet applications with Jetty and Direct Web Remoting
2. Developing Rich Internet Applications for WebSphere Application Server Community Edition
3. A Google Maps mash-up
4. Jetty: continuations
5. JBossWeb documents