Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Prevent Rollback

581471Apr 16 2013 — edited Feb 26 2020
I have a bpel that processes an array in a loop. I have it set up to catch faults within the loop, and send them to an error queue.
At the end of the loop, I throw a fault if there were any faults caught during the loop. A global catch all cathes this fault, or any other unhandled faults, sending the latter to the error queue.

I want to have the instance end in a faulted state, by rethrowing from the global catch all, but this rolls back all the messages that I send to the error queue, as well as any successful processing accomplished in the loop (messages sent to other queues).

So I thought that putting a dehydrate action before the rethrow would commit everything in the instance, and then the rethrow would cause the instance to be faulted. But now the faulted instances get stuck in the Running state, on the dehydrate step.

Is dehydrating taking this long (been over an hour so far)? Or is there something else going on here? Is there a better way to accomplish what I am trying to do here?

Thanks.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 15 2013
Added on Apr 16 2013
2 comments
209 views