Friday Mar 09, 2012

Tab Sweep - Upcoming JPA in NetBeans, JCP voting, Java EE and more....

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

Radio Receiver

Inside Oracle's Java Magazine (YouTube)
NetBeans JPQL and named queries support (
JSR 356 WebSocket Review Ballot results (
Why we vote “Yes” for JSR 331, JSR 354 and JSR 355 (London Java Community)
QCon Report - Day One (JAXenter)
JavaEE6 and the Ewoks (Developer Chronicles)
How to Create a New JSF Project (Pack Publishing)

Thursday Jan 26, 2012

What's up with EclipseLink?

EclipseLink's Shaun Smith has recently been delivering a number of presentations on the status and future of the open source project. If you're curious about where innovative JPA projects are going, then you should check out this slide deck from Shaun.


Here are the main themes covered:

REST: integration with JAX-RS to access relational data through REST with HTML 5 as the primary client with possibly JPA entities and persistence units defined via metadata with dynamic provisioning (i.e. no Java coding required).
EclipseLink NoSQL: annotations (@NoSql) and XML to identify NoSQL stored entities with initial support for MongoDB and Oracle NoSQL.
Multitenancy: already present in the shipping version of EclipseLink using the @Multitenant annotation and supporting different topologies with dedicated or shared application and/or database.

Next stop: EclipseLink 2.4 along with the June Juno Eclipse Release.

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.

Monday Sep 19, 2011

JPA Maven Plugin - request for feedback

Laird Nelson, a regular poster on the GlassFish forums and a prolific bug reporter (thank you!) recently released a JPA Maven Plugin.

The idea is to generate a .properties file with JPA entities and optional parameters which Maven can later use as a filter to simplify testing of JPA code.


Version 0.9.0 of the plugin is now on Maven Central and Laird is looking for feedback. The issue tracker is here.

Tuesday Jun 28, 2011

Eclipse Multitenancy. Now with a screencast.

As a follow-up to the previous EclipseLink's mutitenancy blog post, the recent Eclipse Indigo release train and the recent GlassFish Podcast interview on EclipseLink, we now have a short screencast showing it all in action.

You can also find it on the GlassFish YouTube Channel.

JPA Multitenancy

The scenario is pretty simple with two simple and identical web applications deployed with different tenant identifiers via persistence.xml customization (just one of the means of identifying tenants with EclipseLink). Hopefully this'll help people understand what Java EE 7 multitenancy might look like.

Sunday Jun 19, 2011

EclipseLink does multitenancy. Today.

So you heard Java EE 7 will be about the cloud, but that didn't mean a whole lot to you. Then it was characterized as PaaS, something in between IaaS and SaaS. And finally it all became clear when referenced as support for multitenancy. Or did it?

EclipseLink @Multitenancy

When it comes to JPA and persistence is general, multitenancy is defined as the ability to share a database schema among various groups of users (i.e. tenants). This means that there is no database setup or reconfiguration required as the data is co-located in the same database.

EclipseLink 2.3 (the Indigo train release) let's you do just that by supporting tenant discriminator column(s) via annotations or XML with applications providing values for these discriminators via an API or PU configuration. Check out details here.

EclipseLink 2.3 is scheduled to be the default and supported JPA provider for GlassFish 3.1.1. Another nice feature of this release is the ability to extend persistence units on the fly. The GlassFish Podcast has an interview up with EclipseLink's Doug Clarke.

Expect more on multitenancy across the Java EE spectrum as the specification work progresses.

Update: a screencast is now available.

Thursday Jun 02, 2011

EclipseLink discussion over at the GlassFish Podcast

What is the reference implementation for JPA 2.0? What is the difference between TopLink and EclipseLink? Where is the project being used outside of GlassFish? How is the project run at Eclipse? Anything done for PaaS and multi-tenancy? What is MOXy?

Is you're asking yourself any of those questions, you'll find answers in the latest episode of the GlassFish Podcast, an interview with Doug Clarke.

The podcast is accessible via iTunes or its main webpage.

Doug Clarke

Monday May 30, 2011

EclipseLink @ DZone Refcard

The latest DZone cheat sheet covers EclipseLink, the JPA 2.0 reference implementation and GlassFish JPA provider. As often the case, this 6-pager is loaded with useful content.

Eclipse DZone Redcard

From intro (did you know that EclipseLink was the reference implementation for SDO or that EclipseLink ships as a single JAR file?) to Maven, OSGi, Weaving in JavaSE, eclipse-orm.xml, fetch groups, cache configuration and much more, it's amazing how much great stuff Gordon was able to cover in this short document.

Keep an eye on the GlassFish Podcast later this week for an episode featuring a discussion with Doug Clarke on EclipseLink.

Tuesday Mar 29, 2011

JavaEE 7 transparency: JSRs as open projects on

With a good number of JavaEE 7 JSRs officially started after a successful EC vote, it's time to finalize expert groups and actually get to work! To do that, every JSR with Oracle as a spec lead (including the umbrella Java EE 7) will be driven in the open on

Being a project on will have the USERS mailing lists serve as "reflectors" of the expert group lists and also allow list members to post among themselves. The issue tracker (now Jira-based), the wiki and the download area are also all available for each project to use as they see fit.


Here is the list of projects created so far : (JAX-RS 2.0) (JPA 2.1) (JMS 2.0) (Java EE 7) (JSF 2.2) (EL 3.0) (Servlet 3.1)

As you can see the pattern is pretty easy to follow and should let you find your way to the other spec/projects not yet created such as EJB. To either view the archives or join the users list, you first need to become a member if you are not one already. To become a project member simply click on "Bookmark This Project".

Friday Feb 18, 2011

First Java EE 6 Oracle Certifications now available

Oracle University (the training unit in the company) has now made available several new Java EE 6-related certifications. These are part of the Oracle Certification Program and cover EJB 3.1, JPA 2.0, Servlet & JSP, as well as Web Services.

Here are the links :

Oracle certifications

Java EE 6 - Enterprise JavaBeans Developer
Java EE 6 - Java Persistence API Developer
Java EE 6 - Web Services Developer
Java EE 6 - JavaServer Pages and Servlet Developer Certified Expert Exam

Each of the above links provides you with recommended training and preparation, pricing, date and exam topics. The complete certification path is here.

Tuesday Jan 25, 2011

JCP votes are in, work on JPA 2.1 and JAX-RS 2.0 JSRs can start

JCP votes

The voting period for the newly proposed JPA 2.1 and JAX-RS 2.0 JSRs (both tentatively scheduled for inclusion in Java EE 7) has now ended and the results are identical for both JSRs - 11 YES votes, 0 NO vote, and two EC members not casting in their vote.

You can find the details on these respective pages: JSR 338/JPA 2.1 voting results, JSR 339/JAX-RS 2.0 voting results, including the few comments made by some of the voters.

The expert groups will now be forming and each JSR page has a link (JAX-RS 2.0 / JPA) to join them if you are interested. This earlier post has good background on the process (and of course there's news from the source).

Expect more JCP news in the next few weeks (elections, more JSRs submitted, etc...).

Monday Jan 17, 2011

Oracle WebLogic Server 11gR1 (10.3.4), now with JSF 2.0, JPA 2.0, and JAX-RS 1.1


Version 10.3.4 of Oracle WebLogic Server is now available along with the rest of the Fusion Middleware set of products. Here are some of the new features in this release :
• Exalogic Elastic Cloud Software Support
• Support for TopLink JPA 2.0 with patch 9923849
• Enhanced support for Oracle RAC with a Grid Link Data Source
• Certification with JAX-RS Jersey
Full details are available in the "What's new" section of the documentation.

Other notable news include a 300MB developer download (MacOS support included), a Maven plugin (new with this release, see Markus' post on that topic), as well as a bundle download for WebLogic Server on JRockit Virtual Edition.

JSF, JPA, and JAX-RS implementations are now common across WebLogic and GlassFish servers.

Update: Mike Lehmann has now a more detailed blog entry on this release.

Tuesday Jan 11, 2011

Kicking off Java EE 7 with 2 JSRs: JAX-RS 2.0 / JPA 2.1


The formal work on Java EE 7 has started with the filing of two new JSRs :
JSR 338: Java Persistence 2.1
JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services

This is a follow up to the "It's time to start talking about Java EE 7" entry from last month where themes for Java EE 7, JAX-RS 2.0 and JPA 2.1 were introduced with links to draft documents and conference presentations. Arun also has more details.

Both spec leads Linda DeMichiel (JPA) and Paul Sandoz (a co spec lead on JAX-RS with Roberto Chinnici) have been sharing their thoughts with the community in the past few months at conferences, on mailing lists and blogs. You can now read the JSR proposals and even join the expert group if you feel you have the time and expertise (link to application form is on the respective JSR page).

Both JSRs are now up for voting and the ballot closes on Jan 24, 2011. Now is probably a good time to go back and read this earlier post on voting rules and "How to Read a JSR".

For a broader view of what Java EE 7 is trying to achieve and its timeline, I'd recommend listening to this recent discussion with Roberto Chinnici.