async plugin.
+ */
+public class ChatRoomAction extends ActionSupport {
+ private String message;
+ private Integer lastIndex;
+ private List+ These examples illustrate Struts build in support for async request processing. +
+
+ When you have a process that takes a long time, it can make your app not scalable under heavy load conditions.
+ Scalability limitations include running out of memory or exhausting the pool of container threads.
+ To create scalable web applications, you must ensure that no threads associated with a request
+ are sitting idle, so the container can use them to process new requests.
+ Asynchronous processing refers to assigning these blocking operations to a new thread and returning
+ the thread associated with the request immediately to the container.
+
Reference: Asynchronous Processing
+
An interesting and vital use case for the async request processing is server push.
+ A good solution is to use the Servlet 3.0+ asynchronous feature.
+