BPEL engine does the auto retry of the failed message which
is in undelivered state, BPEL engine store all the message which is coming to
engine in DLV_MESSAGE table and if any of the message if not getting resolved,
BPEL engine will be keep retrying to process those message up to some retries
and then finally it marked as exhausted.
Administrator can stop BPEL engine not to retry undelivered
message. Below are the steps which need to follow to do the configuration –
Step1:
Click on SOA Infrastructure>>SOA
Administration>>BPEL Properties
Step2:
Click on “More BPEL Configuration properties”
Step3:
Click on properties “MaxRecoverAttemp”, in below snap
another key properties “RecoveryConfig” also got highlighted which will be
discuss later section of this document.
Step4:
Change the default value ‘2’ to ‘0’ and click on apply
button as highlighted. It’s done. Now
BPEL will not retry automatically any invoke or callback failed activity.
Apart from above
changes another key configuration exists in BPEL engine which is related to “RecoveryConfig”.
BPEL engine has provided the way to recover all the unresolved messages in
DLV_message table. These messages types includes –
- All invoke and callback messages that are unresolved
- All activities (for example, wait activities and OnAlarm branches of pick activities) that have an associated expiration date and are scheduled with the SOA Infrastructure to be rescheduled
- All activities that are not complete over a provided threshold time
In order to change the recovery configuration you need to
select “RecoveryConfig” option from BPEL
properties, once you select that option below screen will be appear-
Change the value according to your requirement. For more
details about these values please refer the below link provide from Oracle which gives detailed info –