oracle-databaseperformancesoabpelsoa-suite

Avoid timeout in SOA 11g with Java embedding longer than 5 minutes


I want to run a composite with a Java embedding in Oracle SOA 11g, in which there is a Java embedding activity that could last more than the SOA timeout (currently 5 minutes).

I tried dehydrating the BPEL process right before and after the Java embedding, but if the embedding takes more than 5 minutes the entire instance will fault. I even tried the checkpoint(); instruction to force dehydration from inside the embedding, but it seems to have no effect in 11g, although it produces no error when the composite is deployed, because of a bug in 11g.

Is there a way to ensure that my composite will never go into timeout?
Please keep in mind that:


Solution

  • If things are timing out, maybe send a jms message and have a message bean run the Java and post its return. Have the waiting Bpel inbound jms adapter poll for the new posted message. Meaning you may have to do this fully asynch, if SOA suite process engines are timing out. This post may help as well. Note the other links at the bottom, too.

    In 12c, the transaction timeout can now be worked around with the noTransaction support of BPEL. Add the following property to the BPEL component in composite.xml: notSupported