Posted: Thu Oct 30, 2003 7:07 am Post subject: Single Unit of work (UOW)
Voyager
Joined: 23 Sep 2003 Posts: 79
Hello-
Please let me know if I correctly understood the concept of UOW. If MQSeries being acted as a XA Transcation manager commits the meesages then it is known as fully broker controlled. Or else if it is coordinated both by the MQSeries and the database then it is known as globally controlled transaction and the transaction is known as Single unit of work... is it right?. Thanks in advance.
The default UOW is broker controlled (no XA stuff). I.e. the broker
controls which MQ Gets/Puts and which Database updates are
commited the flow finishes succesfully (i.e. without an exception) and which are commited immediately.
If you set the 'globally coordinated transaction' flag on a flow,
MQSeries acts as the transaction coordinator. I.e. the broker
only calls a single MQBEGIN at the beginning and MQCMIT or MQBACK
at the end of the transaction instead of MQCMIT plus any Database commits separately. MQSeries then calls the databases XA-commit function to commit any db transactions as defined in the XA protocol.
For that to work, all Databases that participate in a coordinated UOW
must be listed in the Resource section of the qm.ini file of the brokers
queue manager. (see MQ Admin Guide).
The level of control you get here is almost the same, except, that XA
is safer but a bit slower.
If the broker crashes between the MQCMIT and database
commit calls you will end up in an inconsistent state. Now the window
for this is very narrow, so this is unlikely to happen. Its probably
good enough most siutations, but you shouldn't transfer multi
million dollar transactions that way. _________________ Mathias Puetz
IBM/Central WebSphere Services
WebSphere Business Integration Specialist
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum