On 14.06.2011, at 11:10, Julien Dubois wrote:
> 1. Configuring JMS
> The JMS API should not rely on JNDI, so it is usable outside an application server (inside Tomcat, a batch or a lightweight ESB).
> This configuration should include pooling of JMS ressources.
> We should work on this with the other members of JEE 7, as this is currently an open debate: http://agoncal.wordpress.com/2011/06/10/debate-and-what-about-configuration-in-java-ee-7/
It should be at least injectable with CDI.
>
> 2. Simplifying the JMS API
> The current API should be simplified:
> - Some parts of the APIs are unclear, for instance the acknowledgement part. We should just have "auto", "client", "dups-ok" or "transacted", like what Spring JMS uses.
I would go with the existing JMS. The extension with pre-acknowledege or no-acknowledge is interesting and important.
> - There should be an easier API to send and receive messages, like Spring's JMSTemplate. Utility libraries and wrappers shouldn't be needed for simple use cases.
Yes. We already have CDI in Java EE 6/7. We should introduce additional Qualifiers to be used together with @Observes.
>
> 3. Using Annotations
> Like every other specifications, JMS should be used with annotations.
++1.
>
> 4. Using MDB everywhere
> MDBs should not be reserved for application servers. We should have "message-driven POJOs" as seen in Spring JMS, by using annotations on a simple Java object.
But you will need some kind of a container. IMHO it doesn't matter whether I'm using Spring or Weld or OSGi based EJB container. It won't work with Java SE...
>
> 5. Clustering and failover
> As the theme of JEE 7 is "the cloud", there should be some clustering/failover facilities in the specification.
> For instance, we should be able to configure failover as in ActiveMQ from the standard configuration:
> http://activemq.apache.org/failover-transport-reference.html
So far I know clustering is not specified in other specifications. (except distributable in web.xml). But probably we could introduce the notion of clustering in Java EE 7 in general.
>
> We should also have a callback for catching failures, in order to implement some specific business logic for those cases.
>
> 6. Batching
> We should be able to do send messages in batches, and not only one at a time.
+1
>
> --
> Julien Dubois
>
> Twitter: @juliendubois
>
>