This discussion is archived
6 Replies Latest reply: Jan 19, 2013 7:00 AM by Arik RSS

BPEL Manual Recovery

kiran4soa Newbie
Currently Being Moderated
I am using SOA 11g. I have a one way bpel process starting from JMS Consumer till a file adaoter write. On any catchall scenario, the instance goes to manual recovery and the state of the instance shows as "Running" and this state remains for a long time. Any suggestions to over come this?
  • 1. Re: BPEL Manual Recovery
    Tarak Newbie
    Currently Being Moderated
    Pls follow this link.

    http://www.albinsblog.com/2011/10/oracle-soa-suite-11g-disabling-auto.html#.UPQUAJZrXIw


    Also pls mark the thread with helpful or correct according to forum rules.

    Regards,
    Tarak.
  • 2. Re: BPEL Manual Recovery
    Arik Expert
    Currently Being Moderated
    Hi,

    The reason it is "stuck" on running mode is because your process was rolled back and exception was not handheld correctly.
    Can you please describe what activity you have in the process and were does the error accrued?

    Arik
  • 3. Re: BPEL Manual Recovery
    kiran4soa Newbie
    Currently Being Moderated
    Arik,

    On a selection fault which is not handled out of seedeed faults, it is going to catchall block. In catch all block, I am having an assign for AIAAsyncErrorHandlingBpelProcess variable and invoke to AIAASyncErrorHandlingBpelProcess followed by throw which throws the AIAAsync Input variable. So at runtime, the selection fault is leading the process to catchall and the isntance shows as faulted since we have throw but the process state shows Running and goes to manual recovery. Can you please suggest on this.
  • 4. Re: BPEL Manual Recovery
    Arik Expert
    Currently Being Moderated
    Throw activity in your case (that throws the AIAAsync Input variable)will not terminate the process.
    You can just use Termintae.
    Why you are using another throw?
  • 5. Re: BPEL Manual Recovery
    kiran4soa Newbie
    Currently Being Moderated
    Arik,

    As per Oracle standards of Fault Handling, there should be a throw activity in each of the catch blocks so that on any faults either catch or catchall, the instance is shown as faulted. Correct me if I am wrong. We have used throw in catch(binding fault, remote fault) and catchall(aiaasyncerrorprocess). If we terminate the process then does it show as faulted?
  • 6. Re: BPEL Manual Recovery
    Arik Expert
    Currently Being Moderated
    Hi,

    If the only reason is to show an exception in the EM then you can use the Terminate activity.
    Thorw activity many times can casue other beheviour to your process.

    Arik

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points