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 –
Click on SOA Infrastructure>>SOA Administration>>BPEL Properties
Click on “More BPEL Configuration properties”
Click on properties “MaxRecoverAttemp”, in below snap another key properties “RecoveryConfig” also got highlighted which will be discuss later section of this document.
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 –