I have a microflow which contains some java actions, to read data from MQ. I am doing this in a MQ Transaction. First I will start the Read transaction, then I will read the data from MQ, then once i process data, I commit the read txn. If there is some error in the processing of data, I want to rollback MQ read txn, so that another one can read the MQ data. Now, the problem is, once the processing has an error (Rollback error handling), the control is lost. It is not rolling back or commiting. Work around : I have a loop to process the data, and I am incrementing a count variable after all processing in the loop. If there is an error in the loop, the count will not be incremented and I made the activities to be Continue on error handling. So i am checking for the count by the end of loop and see, whether there is an exception and makes rollback, else commit. I don't know this will be a good round about. If there is a way to set, on error, go to this microflow to cancel something, it would be very good. I saw for concurreny, there is an error microflow. But for error handling, i wanted something like that.
Manjumol C Sebastian
You can set error handling to:
Rollback: if an error occurs everything will be rolled back.
Custom with rollback: you can draw an error flow from an activity and do everything you want before things are rolled back (except for the things done in the error flow).
Custom without rollback: same as previous, but without rollback.