The Servlet 3.0 Asynchronous Sample Application.
A servlet often has to wait for a response from a resource such as a database or a message connection. Asynchronous processing, which is a new feature in Java EE 6, avoids the blocking request so that the thread can return and perform some other operations.
This example demonstrates the usage of asynchronous servlet.