NIO.2 (JSR 203) Early Draft Review Available
The JSR 203 Expert Group has submitted the Early Draft Review, with comments due by May 27th. JSR 203, also called NIO.2, is billed as the next step forward from the NIO capabilities added in Java 1.4.
Some of the features included in the draft include:
- A new filesystem interface that supports bulk access to file attributes, change notification, escape to filesystem-specific APIs, and a service-provider interface for pluggable filesystem implementations
- API for asynchronous (as opposed to polled, non-blocking) I/O operations on both sockets and files
- The completion of the socket-channel functionality defined in JSR-51, including the addition of support for binding, option configuration, and multicast datagrams.
The reactions so far are positive, but more focused on the disappointing fact that evolutionary changes like this have to wait for JDK releases. Elliotte Harold writes:
On reviewing this, I think I'm struck by a fundamental flaw in the JCP for the first time. Sun is still mired in a 20th century, waterfall, big bang approach to development. There are at least three, probably more, different things going on in this process that could certainly be separated and developed independently. However that would require three separate efforts and three JSRs, and the whole JCP process is too heavyweight for something as simple as "add copy and move methods to the File class"...
Rather than a slow evolution and accumulation of features, each one being rolled out when it's ready, there's a massive rush to push everything into each roughly biannual release of the JDK. Some simple features are held back long after they could have been released while others are pushed out well before they're ready.
Alan Bateman has all the details about downloading the draft, joining the mailing list, and commenting.