Tuesday, November 26, 2019

Dehydration in Oracle SOA

Idempotence in BPEL :- 

Idempotent Activity
Non Idempotent Activity
Does not dehydrate
Dehydrates
Related to Transient Process
Related to Durable process
Assign, Invoke 
Wait, Receive, Pick(onMessage, onAlarm), checkpoint(), Dehydrate
Can be retried
Not Retried

So when you specify the idempotent property as "false" in the partner link of a BPEL process ,

  • It becomes non idempotent and cause the BPEL process for dehydration and so a commit occurs . 
  • It ends the current transaction of a BPEL process and start a new one.

If BPEL recovers from dehydration store idempotent activities are retried again.

Properties
Transient Process
Durable Process
When Dehydrated
only once the execution is completed.
  • Non idempotent activities.
  • After End of Process.
  • Mid process breakpoints.
Exception / Crash occurs
No Trace in System.
this process instance appears in Oracle BPEL Control up to the last dehydration point (breakpoints activity) once the server restarts. If the server crashes before the process instance reaches the first mid process breakpoints activity, the instance is not visible in Oracle BPEL Control after the server restarts.
Example
  • Synchronous process.
  • Any Process followed by setting in composite.xml 
bpel.config.inMemoryOptimization = true
bpel.config.completionPersistPolicy = off/deferred/faulted
Asynchronous process.

No comments:

Post a Comment