soa - prior blogpost-1
Issue: Recently I was working on Oracle SOA Orchestration Process and hit an issue where the instance of the process is was vanishing.
Resolution: The resolution was simple to just put the checkpoint() in the BPEL process make the idempotent activity to false at the Partnerlink. What this will do forcefully de-hydrate the instance so even if the failure occurs, partial success can still be viewed. All that need to happen is that the dehydration happens before the failure point.
However, when I digged deep, I figure out that it is happening because of the way Oracle SOA BPEL engine handles Transactions.
Most Oracle BPEL process starts with a new transaction and close out the transaction at the end of the process. However if there is a forceful dehydration, initial transaction get closed out and new transaction is started.
Observation / Question: With this thought and above explanation I noticed that it seems that the instance of the process won't appear in case the process has potential to be successful, if the transaction timeout at the server / database level is less that response time of the BPEL process.
Any comments on this Observation / Question will be helpful.
Resolution: The resolution was simple to just put the checkpoint() in the BPEL process make the idempotent activity to false at the Partnerlink. What this will do forcefully de-hydrate the instance so even if the failure occurs, partial success can still be viewed. All that need to happen is that the dehydration happens before the failure point.
However, when I digged deep, I figure out that it is happening because of the way Oracle SOA BPEL engine handles Transactions.
Most Oracle BPEL process starts with a new transaction and close out the transaction at the end of the process. However if there is a forceful dehydration, initial transaction get closed out and new transaction is started.
Observation / Question: With this thought and above explanation I noticed that it seems that the instance of the process won't appear in case the process has potential to be successful, if the transaction timeout at the server / database level is less that response time of the BPEL process.
Any comments on this Observation / Question will be helpful.
Comments
Post a Comment