On Thu, Aug 27, 2015 at 10:37 AM, Nigel Deakin <nigel.deakin@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.