users@jms-spec.java.net

[jms-spec users] Re: JMS_SPEC-134: Declarative Annotation Based JMS Listeners

From: Clebert Suconic <clebert.suconic_at_gmail.com>
Date: Thu, 27 Aug 2015 11:11:58 -0400

On Thu, Aug 27, 2015 at 10:37 AM, Nigel Deakin <nigel.deakin_at_oracle.com>
wrote:

> Hi Clebert,
>
> We should definitely discuss how the JMS 2.0 proposals proposals for batch
> delivery (since deferred) might work with the new-style MDBs and listener
> beans.
>
> As you know, MDB users can turn off XA transactions using the
> @TransactionManagement annotation, and can remove the number of network
> round-trips using an acknowledgement mode of DUPS_OK. Why is this not
> sufficient?
>

Because users want to have the messages and their Database operations in
transaction.
I have seen this pattern since my days of consultant.

This goes beyond my JBoss. I'm not concerned about any specific usecase
from JBoss, but from what I see from users doing on day by day with their
messaging systems.

DupsOK is ok, but that doesn't guarantee the semantic these users have.


> Or do you have a specific need to have XA transactions that cover multiple
> messages?



From what I see, EE users will want to have async messages, but will need
transactions.. the easiest way to do XA Transactions between JMS and
Databases are through EE... for that reason, users are *over-using* MDBs...
and XA transaction

And that's limiting any improvements done by any messaging provider.

A few handful users will write standalone application to batch things
properly...


So, I think we really should propose a way to batch things through MDBs. At
least these users would take full advantage of asynchronous message systems
and still do transactions.