views:

413

answers:

7

Hello, everyone

I am doing some research related to Java NIO. I need to find some representative applications that are based on this framework. Please feel free to suggest! The more, the merrier!

Thanks

A: 

I believe Adobe LCDS runs off Java NIO.

CookieOfFortune
It seems Adobe LCDS is proprietary, so we don't have access to the code. It would be difficult to study it. But, thanks!
peng
+4  A: 

The Apache MINA Networking framework is built on NIO (and is used by many applications to provide high-performance networking).

Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract · event-driven · asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.

Apache MINA is often called:

  • NIO framework · library,
  • client · server framework · library, or
  • a networking · socket library.

However, it's much more than that. Please take a look around the list of the features that enable rapid network application development, and what people says about MINA. Please grab yourself a download, try our Quick Start Guide, surf our FAQ or start join us on our community

I believe JETTY uses continuations to support 5000+ HTTP Comet connections using Servlet 3.0 continuations.

Also you can look at a BlazeDS NIO implementation (basically an opensource LCDS). http://blogs.webtide.com/athena/entry/asynchronous_blazeds_polling_with_jetty

Dougnukem
+1  A: 

Grizzly, a HTTP connector, makes use of NIO. It's been used in Sun Glassfish Java EE application server and is available in Apache Tomcat Java servletcontainer as well. It not only enables Comet (sort of HTTP push idea), but it also scales damn good, it can go up to ~20.000 concurrent HTTP connections on a single thread instead of ~5.000 concurrent HTTP connections on that much threads.

BalusC
A: 

I started an open source project on SourceForge called JInSim that uses nio. I'm no longer an active developer on it, but I'm sure that part is still the same. It's a smaller scale library that allows people to write clients for the auto racing simulator Live For Speed.

JInSim link

Rob Heiser
+1  A: 

Netty:

Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.

Alfred
A: 

Jetty, the popular web application server, can use NIO. Check out the different socket connectors. Jetty can also use continuations for handling asynchronous web requests.

Project Voldemort, a distributed key/value store, can also be configured to use NIO for socket connections and uses parts of the library for reading from it's read-only data store.

wsorenson
+1  A: 

Rabbit web proxy is using NIO.

But before jumping on the NIO bandwagon, I'd recommend you to read this.

mindas