InfoQ

News

NIO.2 (JSR 203) Early Draft Review Available

Posted by Rob Thornton on Apr 17, 2007 07:19 AM

Community
Java
Topics
JCP Standards
Tags
JSR 203

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.

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.