bwtaylor wrote:
> 
> [...]
> The underlying jdbc connection commits when told to do so from the
> TransactionContext object, which commits when JDBCPersistenceAdapter's
> commitTransaction method is called. I don't quite see how this is
> connected to the XATransaction's calling of commit().
> 

It's not connected. The JDBC message persistence is managed internally in
completely independent transactions. This is presumably safe because
persistent messages are first stored and then placed on the queue/topic for
consumption. If the broker were to fail between these two actions, when it
comes back up or the slave takes over, it will read that message from the
store and dispatch it as normal. Therefore the adding and removing of
messages to and from destinations is covered by XA, but the events that
these events trigger, such as mutation of persistent stores, is not.

I'm not convinced this will work for every possible failure scenario, but I
know this is the behavior I've observed.
-- 
View this message in context: 
http://www.nabble.com/Only-memory-transaction-store-with-JDBC-persistence-adapter---tp18657395p18711462.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to