The Batch framework allows retry of errors, is there a similar setting for Queue's for FAIL transactions?
In order to see the retry in the logs we need to enable Step #1
1. Log onto WAS Console: Goto Troubleshooting-> Logs and Trace-> Server1-> Change Log Level Detail and add the bolded text.
*=info: com.dwl.*=warning: com.ibm.mdm.*=warning: com.ibm.mdm.server.config.*=info: com.ibm.mdm.common.brokers.*=info: com.ibm.mdm.mds.*=info: com.initiatesystems.*=info: com.dwl.base.report.mbean.TransactionDataListener=fine: com.dwl.jmsadapter.mdb.*=info
2. SQL
UPDATE CONFIGELEMENT SET VALUE = ' SQLCODE=-911,SQLCODE=-913,ORA-00370,ORA-02049,ORA-00060,SQLCODE=-968,SQLCODE=-803, SQLCODE=-723'
, LAST_UPDATE_DT = CURRENT_TIMESTAMP WHERE NAME = '/IBM/DWLCommonServices/ErrorHandling/retryErrorStringList';
UPDATE CONFIGELEMENT SET VALUE = '12,2037,4930, 109,10506,49359',
LAST_UPDATE_DT = CURRENT_TIMESTAMP WHERE NAME = '/IBM/DWLCommonServices/ErrorHandling/retryErrorCodeList';
Once we set the error codes the retry should work automatically, do we have a setting to enable retries? This is a CM configuration, use sql to update it.
If I add the log statement in WAS console then this retry information will be logged in trace.log? This should appear in SystemOut.log, not sure it will appear in trace.log.
Reference:
/IBM/MessagingAdapter/Exception/maxRetryLimit
· Description: Determines how many times the Messaging Adapter attempts to reprocess a failed inbound request message by invoking DWLServiceController.
· Default value:
3
· Dynamic: true
If you want to see it in action, you will have to turn on INFO level logging for
com.dwl.jmsadapter.mdb.MDBRequestReceiverBean class
as the logging code is below
if(currentRetryCount <= getMaxRetryLimit(manager.getControl()) && manager.shouldRetry(e)) {
| |
if (logger.isInfoEnabled()) {
| |
logger.info(ResourceBundleHelper.resolve(
| |
ResourceBundleNames.MESSAGING_ADAPTER_STRINGS,
| |
INFO_DWLJMSMessageProcessor_MessageRetry,
| |
new Object[] {manager.getMessageId(), currentRetryCount}));
| |
}
| |
processMessage(manager, currentRetryCount);
| |
}
|
Reprocessing inbound messages in case of an error
When there is an error processing an inbound request message, Messaging Adapter can re-invoke the DWLServiceController to reprocess the request. You can define the error conditions that trigger the Messaging Adapter to re-invoke the DWLServiceController using the following properties in the Configuration and Management component:
/IBM/DWLCommonServices/ErrorHandling/retryErrorStringList
/IBM/DWLCommonServices/ErrorHandling/retryErrorCodeList
No comments:
Post a Comment