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 ,
If BPEL recovers from dehydration store idempotent activities are retried again.
Properties
|
Transient Process
|
Durable Process
|
When Dehydrated
|
only once the execution is completed.
|
|
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
|
bpel.config.inMemoryOptimization = true
bpel.config.completionPersistPolicy = off/deferred/faulted
|
Asynchronous process.
|
No comments:
Post a Comment