users@jms-spec.java.net

[jms-spec users] Re: JMS_SPEC-116: Take advantage of EJB 3.2's RA improvement for MDBs

From: Nigel Deakin <nigel.deakin_at_oracle.com>
Date: Wed, 10 Jun 2015 10:58:39 +0100

The fact that the implementation was straightforward shows how well-judged those simple last-minute changes David added
to EJB 3.2 and JCA 1.7 were.

As David says, we can have fun designing the style of the annotations. The wiki page lists a number of questions/issues
that came up in drafting my proposals (so I won't repeat them here).

In general I've suggested having a separate annotation for each EJB-defined JMS activation property rather than have one
big annotation with a large number of attributes. This is probably the main design choice we need to make.

I've broken this rule in just one place, by combining "destinationLookup" with "destinationType" into a single
annotation and calling it @JMSListener rather than , say, @JMSDestination. I saw this as the "primary" annotation which
was always needed, and all the other annotations were used to provide additional configuration.

I've logged https://java.net/jira/browse/EJB_SPEC-126 to request removal of the requirement for a no-method marker
interface (I see RĂ¼diger already logged EJB_SPEC-115 which is related).

(David: unfortunately I can't make Devoxx UK. As it's local to me I'd have loved to be there, but I'll be away.)

Nigel



On 09/06/2015 23:56, David Blevins wrote:
> "but this turned out to be surprisingly straightforward"
>
> Exactly! The real fun is deciding the style of the annotations and what functionality we want. Easy hit are we need
> an annotation to replace each existing key-value pair that can go in the activation-config. More fun items will be
> around how far we want to take the arguments into the annotated listener method.
>
> Nigel, are you at DevoxxUK? There's a Hack-day on Wednesday and I'd love to do some side-by-side hacking as the
> opportunity is there and is extremely rare to get.
>
> Also, hello RĂ¼diger! Sorry didn't get a chance to respond before :) If you'll be at DevoxxUK as well, we could have
> some real fun.
>
>
> -David
>
>
> On Tue, Jun 9, 2015 at 10:29 AM, Nigel Deakin <nigel.deakin_at_oracle.com <mailto:nigel.deakin_at_oracle.com>> wrote:
>
> As promised, I've written up my proposals for simplifying the way that JMS MDBs are configured and published them
> on this wiki page: https://java.net/projects/jms-spec/pages/JMSListener
>
> Please take a look and send your comments as soon as possible and by *Friday 26th June* at the latest. Depending
> on what people say I'll work on an updated version in the light of comments.
>
> I've listed 16 issues on which I would be particularly interested to receive feedback.
>
> In addition to that wiki page I've drafted javadocs for the new annotations etc. See the table at the end for links.
>
> Following the lead taken by David Blevins I've also been prototyping an implementation in GlassFish. I'll share
> this (and the tests) at a later stage, but this turned out to be surprisingly straightforward: I could implement
> almost everything in the resource adapter, with virtually no changes at all to GlassFish itself.
>
> I hope this gets JMS 2.1 off to a start at last!
>
> Nigel
>
>