Transactions (Multiple JMS Consumers) and Aggregation
I'm trying to understand how transactions would work in the following
Given transactions are scoped by sessions, and each concurrent consumer
will be run in it's own session (possibly different connections as we see
on wmq connection manager), how does transactions work?
When does the transaction manager commit? (my understanding is when the
aggregation is completed and the aggregated message gets sent to the next
When it commits, does the transaction manager go through each session and
What happens to messages that are still being aggregated?
(i.e once the aggregation completes the aggregated message gets through ..
but I'm assuming subsequent messages are in-flight and are being
aggregated, while the previous aggregate is being sent and commit being
Are there any corner cases here? I feel like we may call commit on inflight
messages and there's a chance of loosing messages if it the application
// some transformation
As an aside, we already see the performance is really bad compared to not
using transactions. Wondering if client-ack could be used in this
situation. Hypothetically we can keep track of the last message (for each
session) and call acknowledge on each message.
But not sure how to identify that.
Rajith Muditha Attapattu <http://rajith.2rlabs.com/>