New Articles: NIO-2 in JDK 7 and Maven in NetBeans 6.7.1
Yesterday we published two new java.net articles: Sweeping the File System with NIO-2, by Manish K. Maheshwari (his first java.net article), and Working with Maven in NetBeans 6.7.1, by John Ferguson Smart. We also published a new Java Mobile podcast, Java Mobile Podcast 89: David "Left" Schlesinger on Open Source.
Sweeping the File System with NIO-2
A good number of Java applications work closely with the file system. The historic file system management capabilities in the JDK are limited, and therefore even commonly performed file interactions can require a lot of custom coding on top of the provided API. For example, let's say that you need to poll files for changes. You'd have to write that yourself. Even some of the provided features have deficiencies: the rename and move operations are not guaranteed to be atomic. In the event of failure, the original file and the target file may both exist or the target file may be incompletely written to the disk. The applications that want to handle these scenarios are forced to resort to native code and thus lose the platform-independence benefits of Java.
These are some pretty serious deficiencies, particularly as even desktop computing advances into the multithreaded realm due to the advent of multicore processors. To be sure, the integration of NIO-2 into JDK 7 is viewed by many developers as among the most critical of the JDK 7 enhancements.
Manish outlines the various facets of NIO-2, including discussion of the new, informative exceptions, class orchestration, the file notification and watch service API, the provider interface, interoperability, and tree walking.
Before Manish sent the article to me, it was reviewed by Alan Bateman, the specification lead for JSR-203, and the implementation lead for NIO-2 in the OpenJDK project. So, if you're looking for an authoritative overview of NIO-2, that you can consume in one sitting, do check out Manish's article, Sweeping the File System with NIO-2
Working with Maven in NetBeans 6.7.1
John Ferguson Smart, who published his first java.net article in early 2006, is a freelance consultant who specializes in enterprise Java, web development, and open source technologies. If you're a regular visitor to the java.net home page, you'll have seen his blog posts regularly highlighted there.
Among John's current interests are open source tools that contribute increased efficiency to the software development process. His new article Working with Maven in NetBeans 6.7.1 goes over the considerable enhancements that are built into NetBeans 6.7.1 for integration with Apache Maven projects.
While John notes that the integration of Maven in m2eclipse remains more mature than what's available in NetBeans, he sees the enhancements in NetBeans 6.7.1 as being a major leap in capability for Maven users. Indeed, the NetBeans approach to Maven seems to offer some advantages with respect to design and seamless integration:
Eclipse has traditionally had rich, though sometimes brittle, Maven support in the form of the m2eclipse plugin. NetBeans Maven support, on the other hand, is a more recent innovation, but that has been getting better and better with each release.
- Creating a Maven project in NetBeans
- Working with your Maven project
- Managing the Pom file
- Managing Dependencies
John's conclusion begins:
The bottom line is, if you are a NetBeans fan, the latest NetBeans release comes packed with features that can make it easier to work with Maven projects. The integration is seamless, and the interface well designed and ergonomic.
And he ends his article with "it's great to see the quality of Maven IDE support growing strongly in at least two of the three major Java IDEs."
I got a blogger pass for Oracle OpenWorld. Here is my report from the show floor. Yesterday, I wrote that Oracle OpenWorld seemed a bit bigger than Java One. Today when I saw the crowds during daytime I realized how naive I was. This is a HUGE conference, filling the main Moscone building, Moscone West, and two hotels. Talks range from "Virtualize your enterprise and cut costs with Oracle VM" to "Win Big with Government Contracts and PeopleSoft ESA". The bookstore didn't carry Core Java but instead featured books on Sarbanes-Oxley and self-motivation, in addition to the usual Oracle DBA fare. There were a few talks on Java, JDBC programming, JSF, ADF Faces, and the BEA app server...
Also reporting from OOW, Arun Gupta posted Oracle Open World 2009 - Day 2 Report:
Following from Day 1, the Day 2 started with Charles Phillips and Safra Catz keynote. The keynotes at Open World are significantly different from JavaOne or any other developer conference I've attended so far. Of course they are expected to be because Open World is not primarily a developer's conference. Oracle Develop (OD) certainly closely mimic any of the conferences I've typically attended. My "exhibitor" badge restricted me from attending any of the sessions at OD though. Here are some interesting statistics about the conference ...
Java Champion Bert Ertman is also at the conference, and posted his Impressions from Oracle OpenWorld: "Is Oracle good for Java?":
Here's a little write-up of my Oracle OpenWorld impressions so far. I'll try to make it a complete, logical story, but first I would like to second some excellent observations made by fellow Java Champion Cay Horstmann (yeah, the hero that wrote 'Core Java'), who blogs about his first day of OpenWorld at java.net.
The big question for me is: "Is Java safe in the hands of Oracle"? Unfortunately, I cannot answer that question based upon my impressions so far, but I can say that the message (or lack of) that Oracle is sending out so far is giving me some shivers down the spine. HereRelated Topics >>