Wednesday Feb 08, 2012

Yet another Java EE 7 spec - WebSocket is JSR 356!

JSR 356 has been filed by Oracle : "Java API for WebSocket". The spec lead is Danny Coward and this JSR is scheduled for inclusion in Java EE 7

While it's great to have both server and client support for WebSocket in Grizzly and GlassFish, it's probably even better to have a standard to encourage portable code. The Review Ballot is scheduled to start on 21 Feb, 2012.


With this JSR, I believe the list for Java EE 7 is now complete. You can get the full list in the latest issue of the Java Magazine and catch recent posts using the javaee7 tag.

Sunday Jan 29, 2012

More Java EE 7 - JSF 2.2

JSF 2.2 (JSR 344) is yet another specification that's being worked on as part of the Java EE 7 effort and Arjan over at has a detailed status covering everything new in this version of the spec.


Part of the features discussed in this blog post are a new queue control for AJAX requests, tighter CDI integration, some Java API additions as well as life-cycle events improvements.

It's great to see community members help spread the word on the progress made and as Ed Burns, the JSF spec lead, says - "(this is) a true testament to the value of transparency."

Friday Jan 27, 2012

Tab Sweep - GlassFish patch, is PaaS Middleware over IaaS, NetBeans tips, JCP updates, ...

Note: if you're reading this using a feedreader, please make sure you've updated to the updated TheAquarium feed.

Recent Tips and News on Java, Java EE 6, GlassFish & more :

Radio Receiver

GlassFish Enterprise Server v2.1.1 Patch 15 (GlassFish for Business)
PaaS is not Middleware over IaaS (Reza)
Sneak peak at Java EE 7 - Multitenant Examples with EclipseLink (Markus)
Building and testing ADF applications with Maven, JSFUnit, Arquillian and Embedded GlassFish (Dablomatique)
NetBeans 7.1 IDE: Shelve and Un-Shelve Changes (John)
NetBeans 7.1 IDE: Inspect and Transform to JDK 7 (John)
JUG Leaders Conference (The Java blog)
New JSR now open for review (The JCP blog)
JCP EC Updates (The JCP blog)

Wednesday Jan 25, 2012 with merged Executive Committee - JSR 355

The latest JSR filed is #355 and it's not a technical one - "JCP Executive Committee Merge". As the name implies this is about merging the current ME and SE/EE executive committees into a unified one.

If you've been following carefully the changes planned for the JCP, the 2-step process turned into a 3-step evolution:
1/ JSR 348, JCP transparency
2/ Merging the two existing Executive Committees
3/ Sorting out the more complicated legal issues


If you're curious about the role of the executive committee members, check out this page on Hint: voting on JSRs is part of it, but there's more. The JSR Review Ballot starts on February 7th.

Tuesday Jan 24, 2012

New in JPA 2.1 Early Draft

Java EE 7 is moving along nicely at the speed of its various JSRs and Arun has a rundown of the new features planned for JPA 2.1 as described in the recent Early Draft document.


The blog entry covers Stored Procedures (similar to named queries, defined on the entities themselves), bulk operations, new FUNCTION, ON, TREAT JPQL keywords, more alignment with CDI and unsynchronized persistence context.

There are more features planned for JPA 2.1 that didn't get in the early draft (such as multi-tenancy). As a reminder, EclipseLink is the reference implementation (RI) for this specification while GlassFish 4.0 will deliver the overal Java EE 7 RI.

Wednesday Dec 28, 2011

2011, a year of delivering on the roadmap

After 323 posts here on TheAquarium, 2011 is coming to an end. Let's look back at what we had hoped to achieve and how the GlassFish team (and others) delivered on the promises.

The most anticipated release after the Sun acquisition was probably the delivery of a fully-clustered GlassFish 3.1 in February (see this technical article). Soon after this release, our stats indicated massive uptake, and the follow-up 3.1.1 release aligned with Java 7, another key milestone in the Java world in 2011.


2011 was also the year of Java EE 6 adoption with certifications from WebSphere 8, JBoss 6, Fujitsu Interstage, Apache Geronimo 3, Apache TomEE, and of course WebLogic 12c bringing the list of certified configurations to 12. It was also time to celebrate two years of Java EE 6 and GlassFish and to realize how long a way application servers had come.

Java EE 7-wise, the umbrella JSR was filed (JSR 342), with great progress on JMS 2.0, JAX-RS 2.0, javax.cache, and others, all with transparency. JavaOne was a good opportunity to recap the overall PaaS and platform rationalization direction.

We've stated the cloud and virtualization guiding principles for GlassFish evolution in September. The GlassFish 3.1.2 release is now well on its way and it is very much already possible to start playing with GlassFish 4.0 early bits (for instance to reproduce the JavaOne PaaS Keynote Demo). Finally we've also continued to deliver on portability of applications between GlassFish and WebLogic via even more sharing of components.

Other notable events include the migration of blogs and the project wiki as well as greatly improved Maven support (with Maven Central now hosting way more bits).

On the community side, we had another very successful community gathering and party at JavaOne and were very pleased to welcome an number of new faces in the engineering team. We also enjoyed a number of high-profile users such as espn, parleys, mollom, and more.

One final achievement that came in late in the year is the support of WebSocket in Grizzly. You can browse through a number of additional posts all tagged with frontpage.

Can we all do better in 2012? You bet!

You'll find other Java-related 2011 blogs on as well as on the Java blog.

Wednesday Dec 07, 2011

Lesser-advertised Java JSRs

As you may have already read here, Java EE 7 (JSR 342) is well on its way with some JSRs having reached the early draft status (e.g. JAX-RS 2.0, JSF 2.2, CDI 1.1, ...).


On the other hand, you may not have heard of the following JSRs that are all candidates for inclusion in the Java EE Platform:
State Management (JSR 350) was recently filed by Oracle to offer a standard API for a state management subsystem (examples of state include HTTPSession and any state associated with CDI scoping annotations).
Batch (JSR 352) was covered here just recently as it has recently passed the Review Ballot.
Concurrency Utilities for Java EE (JSR 236) is building on JSR-166 (java.util.concurrency) to provide a clean abstraction for threaded code in a managed environment. It has been ongoing for several years and should be revived and completed in time for Java EE 7.
Java API for JSON Processing (JSR 353) is a parsing API for manipulating (reading or writing) JSON content. Binding (JAXB-style) is not in the scope of this newly submitted JSR.

The exact list of JSRs that will be part of Java EE 7 is up to the expert group to decide. Arun has more details on the status of each JSR.

Monday Dec 05, 2011

JSR 352 is ...?

Yes, it's the "Batch" JSR and it has recently passed the Review Ballot with 12 YES votes, two NO votes (LJC and Twitter), and two non-votes.


Note this is the first Executive Committee vote since the recent election. Comments on the vote results page indicate the reasons for the NO votes. The JSR now has a green light to form an expert group and get down to technical business.

The public project for the JSR work is at

Thursday Dec 01, 2011

Adopt a JSR, a JUG initiative for you. Yes, you!

Adopt-a-JSR is a recent initiative by multiple JUGs (I believe the ever-active LJC started this) to encourage community participation in the JCP and more specifically in making concrete progress in developing new JSRs.

Some of that is a consequence of the JSR 348/ increased transparency and early results are very encouraging with serious progress made on the JSR-310 TCK for instance. A recently-added grid should provide and idea of the community and JUG efforts on specific JSRs.

Let's get going Duke

As the program page on says - "It looks great on the CV". In fact I think that resume-wise nothing beats serious contributions to industry-wide standards or open source projects and that's probably true around the world.

Wednesday Nov 23, 2011

Geronimo 3 beta - Another Apache project now compatible with Java EE 6

You probably recall the addition of TomEE and WebSphere CE at JavaOne 2011 to the list of certified Java EE 6 products.

This time, Apache Geronimo 3 beta 1 was released with compatibility with the Java EE 6 full platform and is now listed on the Java EE Compatibility Page in both the Web Profile and Full Platform categories.

Not surprisingly, a good number of the components used in this Geronimo release are similar to those used in the TomEE certification.

Apache Geronimo

We now have 11 compatible Java EE 6 configurations to chose from and expecting more soon.

Tuesday Nov 01, 2011

New and old faces on the JCP executive committees

The results for the JCP 2011 Executive Committee (EC) Election are in.

In the SE/EE committee, Ericsson AB, SAP and Intel are all reelected with ratified seats (Intel's last term was as an open-elected member).


Azul Systems and Twitter (which also happen to be the latest additions to OpenJDK) are the two companies filling the open-elected seats. Leaving the SE/EE committee are VMWare and Werner Keil (Werner actually "moved" to the ME committee).

With More than 23% of eligible members casting votes in this election, that's much more than the 11% seen for the 2011 EC Special Election but probably less than what one could hope for.

Full details for this vote (including results for the ME Executive Committee) are disclosed on this JCP page. The complete Executive Committees are listed on this other page (needs update as of this writing).

Thursday Oct 20, 2011

CDI 1.1 progress - yet another Early Draft

On the last day of JavaOne 2011, JBoss' Pete Muir announced that CDI 1.1 (JSR 346) had reached the early draft stage.

While a hot topic it seems, XML configuration for CDI has not yet made it into the current specification.


Other yet-to-be-addressed features as well as other Java EE 7 areas worth tracking are listed on Pete's blog entry.

Java EE 7 is really under heavy development and bleeding edge connoisseurs are probably getting excited.

Tuesday Oct 18, 2011 Final Approval Ballot - We have a go!

As previously explained, JSR 348 is there to change the JCP itself and add transparency to the process.

The results for the Final Approval Ballot are in with 25 YES votes, 2 ABSTAIN votes (Google and Vodafone), one NO vote and 4 non-votes (both Executive Committees were voting). And that's 5 months to complete a JSR from the day it was filed.


Here are two (pseudo) random changes taken from the proposed final draft to give you sense of what will change :

"Attendance at meetings is mandatory. Missing two meetings in a row (whether teleconference or face-to-face meetings) results in loss of future, not yet started, JSR ballot and EC voting privileges."

"The Maintenance Lead must submit to the PMO at least quarterly a list of all implementations that have been certified as compatible and that have been released publicly or commercially. The PMO will publish this information on the JCP website."

For the latter part, Sun and now Oracle has been publishing the list of certified Java EE implementations.

Also, remember that this the first of two JSRs to change the JCP itself (the shorter one too). And in other JCP news, a new voting period has started, closing on October 30th (see list of SE/EE nominees, some really strong ones...).

Update: the JCP blog has more details on the EC ballot.