After a few weeks/months of what felt like unusual quiet (at least in my perception) in the world of Java, there has recently been an upsurge in the amount of Java-related news and I briefly reference some of these news stories in this post.
OpenJDK 9 Not Yet Feature Complete
On Friday, Mark Reinhold (Chief Architect of the Java Platform Group at Oracle) announced that "JDK 9 is not (yet) Feature Complete." In this message, he states that "milestones listed in the JDK 9 schedule are condition-driven rather than date-driven" and references the OpenJDK Milestone Definitions. This referenced section on milestone definitions also defines "Feature Complete" as "All features have been implemented and integrated into the master forest, together with unit tests." Reinhold's message corroborates this definition, "The goal of the Feature Complete milestone is to get all of the planned features, i.e., JEPs, and smaller enhancements integrated into the JDK 9 master forest, together with their unit tests."
One of Reinhold's purposes in writing this is to assure people who feared "the JDK 9 (and hence Java SE 9) feature set is somehow frozen" that this is "not the case." The reason some feared this is that 26 May 2016 is listed as the "Feature Complete" milestone date as shown in the next screen snapshot taken from the OpenJDK JDK 9 project page.
Reinhold also uses the post to propose a process to be followed to get to "Feature Complete" that includes the JEP owner potentially proposing that their JEPs be dropped from JDK 9.
The State of Java EE 8
There is significant consternation regarding the future of Enterprise Java, particularly on Java EE 8. The Java EE Guardians have been formed with the intent to "send a clear signal that Java EE is important and needs to be safeguarded for the community." The concern is that there seems to be no recent advertised progress on the Java EE 8 specification and no announcements to explain why.
In Java EE 8 in Crisis, Peter Pilgrim writes that his "position statement on Java EE" is "We are in crisis." He adds, "We do not know the exact delivery status of Java EE 8, because it is no longer on track." Pilgrim andAdam Bien are also interviewed on this subject on JAXenter in the respective posts Java EE Guardians speak bluntly: 'Java EE cannot be run exclusively by the community' and 'From my perspective, Oracle could withdraw from Java EE completely'. Bien also has a blog post on the subject called Oracle Moves in Strange Ways.
In Gosling rallies against Oracle for Java EE neglect, InfoWorld Editor Paul Krill quotes James Goslin, "It's not so much that Oracle is backing off on EE, but that it's backing off on cooperating with the community. Taking it ‘proprietary', going for the 'roach motel' model of non-standard standards -- 'customers check in, but they don't check out.'"
When Reza Rahman announced his departure from Oracle, he wrote, "I will be rejoining the purely community driven Java EE efforts I have been part of for the better part of a decade in complete good faith as soon as possible post-Oracle." Rahman soon helped form Java EE Guardians and stated, "The bottom line is, if Oracle is not committed to server-side Java and not committed to supporting the EE space, then fundamentally, someone else needs to step in."
Mark Little has posted Does Java EE Have a Future? on the JBossDeveloper Forum and states, "The principles on which Java EE are based are pretty common to distributed systems in general." Speaking of last week's DevoxxUK panel on the future of Java EE, Little writes, "Given rumours and other concerns about the future of Java EE, I can certainly empathise with developers who want to hear that the major vendors are standing behind it. Well Red Hat and those on the panel at DevoxxUK hopefully made it clear: we are prepared to continue innovating with and on Java EE, and it's a key part of our strategy."
EE Modules Not Visible by Default in JDK 9
In the post java.corba and EE modules not resolved by default, Alan Bateman writes that six modules (java.activation, java.annotations.common, java.corba, java.transaction, java.xml.bind, and java.xml.ws) won't be visible by default and will be "'as if' the types in these modules do not exist." Bateman points out that the modules will still be available and can be explicitly specified as part of the root modules with the javapackager
-addmods option or modules-based code can simply express the dependency with
I am a longtime fan of social media-oriented software development sites such as StackOverflow, DZone, and Java Code Geeks. However, it can sometimes be almost overwhelming to filter through these sites' vast amount of content. I have found a nice complement to these sites to be four blogs that aggregate some of the most interesting Java and software development related articles and blog posts and provide brief descriptions and commentary on the linked-to references. These four, in no particular order, are Baeldung Java Web Weekly (weekly aggregation of mostly Java-related links with brief descriptions), Thoughts on JavaWeekly(weekly aggregation of mostly Java-related links with brief descriptions), Robert Diana's Geek Reading (daily [weekdays] collection of links to general software development and technology posts with significant dose of Java-related posts), and Morning Dew Dew Drops (daily [weekday] collection of links to general software development and technology posts with what seems to me like a .NET/Windows emphasis).