|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Roll back MQ without roll back DB2 |
« View previous topic :: View next topic » |
Author |
Message
|
KIT_INC |
Posted: Sat Oct 26, 2013 5:47 pm Post subject: Roll back MQ without roll back DB2 |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
When we update DB2 and MQ PUT or GET in s CICS transaction, can we have local unit of work ? I want to roll back MQ changes without affecting DB2 changes. The info center says we have to use EXEC CICS SYNCPOINT ROLLBACK and not MQBACK. But I think the CICS call will roll back DB2 also. |
|
Back to top |
|
 |
gbaddeley |
Posted: Sun Oct 27, 2013 2:21 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
This seems to go against the UOW paradigm of all or nothing. You should review your design. How about putting the offending message to an error or reprocess queue and then committing everything? _________________ Glenn |
|
Back to top |
|
 |
KIT_INC |
Posted: Sun Oct 27, 2013 3:09 pm Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
Our requirement is very simple. One of the situation is an order comes in, we want to save it in DB2 and send messages out to a number of warehouses. But if any of the put fail for whatever reason, we want to roll back the MQPUTs but not the DB2 insert. There is some limitation that we can only pickup the order once and it is not an MQ message which can be rolled back to the input queue. |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Oct 27, 2013 7:27 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have 2 transactions, one following the other?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
MQsysprog |
Posted: Tue Apr 08, 2014 11:19 pm Post subject: |
|
|
Centurion
Joined: 24 Feb 2014 Posts: 116
|
That's a good design question ...
Firstly i would put an exec cics syncpoint immediately after the db2 insert and this thereafter, should be the first logical unit of work into your program l flux ,and then eventually an exec cics syncpoint rollback to backout the mqput .
You could also do from your main program , an xctl to a new transaction designed only to write the log in db2 ,in this case you will have a new indipendent luw which is obviously logically free in any case ... |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|