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.

Reply via email to