|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Transaction rollback event in event monitoring |
« View previous topic :: View next topic » |
Author |
Message
|
mqxplorer |
Posted: Wed Nov 13, 2013 5:49 am Post subject: Transaction rollback event in event monitoring |
|
|
 Master
Joined: 22 Jun 2009 Posts: 206
|
Hi,
We are on broker version 7004 on Linux. We are using the event monitoring feature.I have questions about Transaction rollback events emission in two different scenarios as described below:
1. Catch terminal connected to a subflow : In this case, the subflow contains a java compute node which logs the exception list to a log fle and there is a throw node after the JCN to make the rolled back message to land in backout queue. Transaction rollback terminal is configured with $properties, $body, $ExceptionList to emit the payload and ExceptionList in case of exceptions. In case of exceptions in the flow, transaction rollback event is emitted with properies and payload but not the ExceptionList. The question I have here is .. When properies and payload are emitted why ExceptionList is not emitted? Is this the right behavior?
2. In scenario two, I do not have my catch terminal connected. In this case the ExceptionList, properties and payload are emitted as expected. This is expected.
I have another scenario where I connect the catch terminal to my subflow, however, the subflow does not have the throw node after JCN. In this case, Transaction rollback event is not emitted but there is a transaction catch terminal event with properties, payload and ExceptionList as expected.
The only thing what I am still not clear about the rollback event in scenario one... May be that is the right behavior.. But I want to know little more about this behavior.
Can anybody help me understand the scenario 1?
Thanks
mqxplorer |
|
Back to top |
|
 |
Esa |
Posted: Wed Nov 13, 2013 11:02 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
Scenario 1. Why would you have catch terminal connected if you are going to transmit the ExceptionList in an event? That's like doing problem handling in two separate threads. One should be enough?
If you have catch terminal connected, the transaction is rolled back only after the catch subflow has thrown an exception.
If the catch subflow doesn't throw an exception, the transaction is not rolled back and no event is emitted.
Now, does the ExceptionList that is emitted when the transaction is rolled back contain the original exception from the out terminal or the one that is thrown from the catch subflow?
That depends on what you do in the subflow. As far as I know, InputExceptionList is not write protected the same way as InputRoot in usual cases is. Your subflow and java code might be able to destroy it.
I hope you have some clues now. |
|
Back to top |
|
 |
Simbu |
Posted: Wed Nov 13, 2013 11:34 pm Post subject: |
|
|
 Master
Joined: 17 Jun 2011 Posts: 289 Location: Tamil Nadu, India
|
Esa wrote: |
If the catch subflow doesn't throw an exception, the transaction is not rolled back and no event is emitted. |
In this case, transaction end event will be emitted if it is configured. Correct me if i'm wrong |
|
Back to top |
|
 |
Esa |
Posted: Thu Nov 14, 2013 12:11 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
Simbu wrote: |
Esa wrote: |
If the catch subflow doesn't throw an exception, the transaction is not rolled back and no event is emitted. |
In this case, transaction end event will be emitted if it is configured. Correct me if i'm wrong |
That's correct. I should have written like this:
If the catch subflow doesn't throw an exception, the transaction is not rolled back and no Transaction rollback event is emitted.[/i] |
|
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
|
|
|
|