Hi, what happens when the transaction is performed half-way depends on your client options. For the default plain tcp transport the client will get exceptions when sending messages or committing transaction when broker is crashed.For the fail-over transport and enabling messages track the client will replay the unfinished transaction when reconnection is established. AFAIK,If the unfinished transaction is never committed or rolled back the messages of the transaction will be held in the memory in the broker and no farther actions are taken. BTW, messages held in transactions are not persistent before the transaction is committed. TransactionBroker used as a broker filter will intercept transaction operations and MemoryTransactionStore will proxy the real message store and hold the transactional messages. Transaction operation inside the broker is complicated :)
At 2013-01-16 22:57:15,jainmanglesh <[email protected]> wrote: >Hi Gary, > >I understand having async by using session.client_ack while creating session >instead of autoack, which would give me async behaviour and can have a count >after which I can issue a commit on session however what if server crashes >at 50th message (if I commit every 100 message as you mentioned). they will >be lost and would not be stored on broker. >for the parallel thing, I am using thread which are taking connection (each >thread will have its own connection, session..) from pool and returning back >to pool once they are done with sending msg, so in this way I think I am >implementing that. > >Gary, adding to that, I had one more question which I have posted at: > >http://activemq.2283324.n4.nabble.com/XAConnectionFactory-and-nested-transaction-td4661813.html > >Thanks.! > > > >-- >View this message in context: >http://activemq.2283324.n4.nabble.com/persistent-message-delivery-to-queue-tp4661718p4661822.html >Sent from the ActiveMQ - User mailing list archive at Nabble.com.
