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.