Can’t wait to see Servlet 3.0 in action. More details about the specification and the current status is available in its JSR homepage. The introduction of support for non-blocking I/O takes Java Servlets to a new level and this, in my opinion,is the most significant stride in Servlet specification since it was introduced. The benefits opened up by this new feature are several. Here are some I can think of -
- If a request requires a remote call that can take significant time, servlet container does not have to maintain a dedicated thread as the web tier waits for the service to complete.
- In case of a multi-part file upload, servlet container does not have to maintain a dedicated thread as the file is being uploaded over a slow network.
- It is possible to have a Comet-style application, that keeps a client connection open and periodically pushes content on to client thus avoiding the need for client to poll for data.
Servlet 3.0 will be officially part of Java EE 6. The final version of Java EE 6 specifications are expected sometime this year and it would take a while for the application servers to be fully compliant with it. So we are looking at atleast a year or two before I can convince people in my company to use this. Sometimes, it’s so exciting to see a new technology introduced, but yet frustrating that it will take a while before I can really start using it. This is part and parcel of being in Java world and working in a cautious enterprise environment.