Thursday Mar 01, 2012

JMS 2.0 Early Draft is here

The JMS 2.0 Early Draft is now posted for formal review (the review period ends on 29 March 2012).

Spec lead Nigel Deakin has put together a wiki page summarizing the content of the early draft.


For more information about JMS 2.0 (JSR 343), the first JMS update in a looong time, check out the JSR project on

Friday Dec 23, 2011

Some JMS and OpenMQ for the holidays

JMS and OpenMQ seems to be a recurring topic on the GlassFish forums and mailing-list so we've now made the content of a fairly recent bootcamp available for everyone to play with to become familiar with the technology.


The bootcamp covers basics on OpenMQ and how it relates to GlassFish, sending and receiving JMS messages, using MDB's (message-driven beans), setting up an MQ broker using a GlassFish instance or a GlassFish Cluster.

Just what you needed for the holidays!

Monday May 23, 2011

Evolving the JMS specification, an opportunity and a challenge

A few days ago, Masoud Kalali, now a JSR 343 (JMS 2.0) expert group member on Nigel's suggestion, posted a brief overview of JSR 343 and what he believes are important use-cases to address.


The JMS specification hasn't evolved in a while but it has also served very well its numerous users for all that time. So this post is an interesting read on why we even need JMS 2.0, in addition to the Ease-of-Development love (annotations, CoC, ...) that it probably deserves.

Masoud promises to cover more JMS in future posts so make sure to keep an eye on his blog.

Tuesday Mar 29, 2011

JMS 2.0 - Time to get involved!

Nigel Deakin has been in touch with an update on the progress of Java Message Service (JMS) 2.0, which as JSR 343 is one of several new JSRs that will form part of Java EE 7. Nigel's first task as spec lead is to set up the expert group, so he would like to invite experienced and active practitioners in JMS, who can allocate enough time to contribute to this specification, to apply to join the expert group. Since JMS is a mature technology he's particularly keen to make sure that all the principal JMS 1.1 implementations are represented.


Nigel also tells me that he's keen that JMS 2.0 be developed as transparently as possible. There'll be a public email list that interested observers can use to contribute and discuss ideas. The expert group discussions will also be made public as much as possible. There'll also be a JIRA issue tracker which anyone can use to submit proposals. To find out how to get involved, visit the new JMS 2.0 website:

Wednesday Mar 09, 2011

GlassFish 3.1 SOTD #9 - GlassFish and WebLogic JMS interoperability

In this ninth post of the SOTD (Screencast Of The Day) series following the release of GlassFish 3.1, here is Nigel's GlassFish and WebLogic JMS interoperability.

This 13-minute demo Nigel walk you through the steps to configure GlassFish applications to use WebLogic JMS using the GenericJMSRA resource adapter.

It offers a quick 2-minute introduction and dives straight into the demo with setup and configuration done respectively using the WebLogic Server and GlassFish Server Admin Consoles, a standalone JMS client code to generate some messages for the WebLogic JMS instance and an MDB application deployed on GlassFish. Check out the GenericJMSRA project on and the entire sample code from its Download section.

This screencast is hosted on the GlassFish YouTube Channel.

Tuesday Mar 01, 2011

More Java EE 7 content: Servlet, EL, JMS and JSF updates

Following-up on to yesterday's post on JSR 342 (Java EE 7), there are actually four other JSRs that have been filed :
JSR 340: Java Servlet 3.1 Specification
JSR 341: Expression Language 3.0
JSR 343: JavaTM Message Service 2.0
JSR 344: JavaServerTM Faces 2.2

JCP - Java Community Process

Servlet 3.1 should offer easier to build asynchronous applications (extending the work done for 3.0), support and utilize Java EE concurrency APIs, support WebSockets, offer multi-tenant isolation support and more. The co-spec leads are Shing Wai Chan and Rajiv Mordani.

Expression Language (EL) 3.0, which used to be defined as part of the JSP expert group, now has a dedicated JSR due to its relationship with other parts of the platform such as CDI and JSF. The goal there is to consider support for projection and collection, date types (with appropriate comparison operators) and maybe equality, string concatenation, and sizeof operators. Kin-man Chung is the specification lead.

JMS 2.0 should bring to this API some long awaited EoD (Ease of Development) love, clarification of the relationship between the JMS and other Java EE specifications and a new mandatory API for the integration of any JMS provider in Java EE application servers. Nigel Deakin is the spec lead for this one.

JavaServer Faces (JSF) 2.2 will continue to focus on ease of development, better portlet integration but also consider new features (HTML 5 and others), and of course work on fixes. The plan is to finish before the end of this calendar year (2011). Check out Ed Burns' recent post on this.

All JSRs are now up for voting and slatted for inclusion in Java EE 7, thus hopefully joining JPA 2.1 and JAX-RS 2.0 in the list of "work in progress" JSRs. Speaking of JAX-RS, Marek, the new co-spec lead has a quick update.

Thursday Feb 10, 2011

Two OpenMQ screencasts

OpenMQ is both the JMS reference implementation and a key component of GlassFish. Specifically, OpenMQ 4.5 is the version integrated in GlassFish 3.1 and just like GlassFish goes way beyond what the specification requires, especially with regards to clustering, OpenMQ offers high availability clusters and useful management tools.

We've just posted two MQ screencasts which were produced a little while ago but content still relevant :
GlassFish Message Queue - High Availability Clusters
GlassFish MQ - UMS (Universal Message Service) demo (earlier post on UMS)


Expect more screencasts with the release of GlassFish 3.1 as well as complete documentation for how to setup complete GlassFish + MQ clusters.

Thursday Mar 04, 2010

GlassFish in February


The breadth and depth of the community is nicely illustrated by the variety of recent GlassFish-related blog posts. First, long time GlassFish supporter Masoud has a very detailed (it's actually a chapter of a book) OpenMQ from A to Z entry. On the operations side, Byron has a set of two posts on How to Run GlassFish V3 as a Service on Linux Ubuntu/Debian and a follow-up on using a non-root Service (see also thisGentoo variation by Jason), while Felipe's on provisioning GlassFish v3 resources with asadmin.

In the "nice words" category, Juliano has a nicely written "Java Enterprise Development - 2010 style" piece and Maksim says "GlassFish is becoming new de facto standard in Java applications. Development with new GlassFish v3 server and Eclipse now is really fast and comfortable. Server starts within a second, JEE6 is fully supported and hot code replacement works as it should.".

On the Java EE 6 and web tier side we have Bobby sharing a tool for exploring the platform, Aleksey discussing a "Grizzly 2.0: simple authentication example", while Justin puts GlassFish embedded to work with Wicket. Rene has a two-part article on running a Java EE 6 Client Application with Netbeans 6.8 and GlassFish V3 - Part 1: Creating a Basic Application and Part 2: Enhancing and Deploying the Application while Jacob goes through the simple setup to have GlassFish and Intellij 9 work together.

So while we wait for the GlassFish roadmap, we've seen one of the busiest month ever for February on the user mailing list and this recent message from the GlassFish Product Management "GlassFish, and by extension, Metro, are strategic Oracle products". Exciting times ahead!

Saturday Jun 20, 2009

JMS over HTTP on GlassFish (and OpenMQ)


Masoud has a nice Detailed Writeup explaining how to configure OpenMQ (the GlassFish JMS implementation) to run over HTTP. This is very useful in constrained situations, for example...

An untrusted applet can communicate back to a server which it is initiated from (server which hosted the applet and delivered the .class and jar files). So your applet can either use mq protocol or it can use JMS over HTTP protocol which is shown in the sample.

BTW, Masoud also briely mentions the new UMS feature in OpenMQ and positions it relative to JMS over HTTP. Full details in Masoud's Writeup.

Monday Mar 09, 2009

What's new in OpenMQ 4.3? UMS!

UMS Architecture

Going back a little bit to the GlassFish v2.1 release (January 2009), if you're into JMS (the most under-used Java EE technology IMO) it's important to notice that OpenMQ 4.3 is now shipping with this latest version of the application server (full documentation here). The most obvious new feature listed in the Release Notes is UMS (Universal Message Service).

Universal Message Service (UMS) is documented here and offers access to Message Queue from any HTTP client. OpenMQ ships with C#, Python and Ajax examples which are also featured in this nice screencast demo (last in the series of videos). Performance-wise, UMS is not a replacement to the existing C and Java APIs but still a nice addition to GlassFish 2.1 and MQ 4.3.

OpenMQ was recently highlighted on The Aquarium TV (archive). You can find a quick overview of version 4.3 (and what led to this release) on the GlassFish Podcast in episode #26. Also, make sure you listen to Linda's "Santa Claus" presentation in the following episode (#27). Well worth the time for anyone interested in JMS architectures.

Sunday Jan 04, 2009

Jan 9th Webinar - OpenMQ 4.3


Our first webinar of 2009 is this Friday (not Thursday!), Jan 9th, 11:00 am PT. Ed Bratt and Linda Schenider will provide an overview of the recent OpenMQ 4.3 release (to be included in GFv2.1 and GlassFish ESB) and will go into more details on the new Universal Messaging Service showing examples of its use from AJAX, C# and Python.

Slides and other material will be posted to the Presentation Page - if you have any questions ahead of the presentation, please add them as comments there, or just ask them during the presentation via the chat.