InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

NIO.2 (JSR 203) Early Draft Review Available

Posted by Rob Thornton on Apr 17, 2007

Sections
Development
Topics
JCP Standards ,
Java
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

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.