/** * This adds a special check for exceptions that occured because the session is down. In this * case, the error count will not be increased so that the message will be resent when the session * comes back up. * * @param e Exception * @param queueMessage QueueMessage * @param queue MessageQueue * @throws QueueException */ public void handleError(Exception e, QueueMessage queueMessage, MessageQueue queue) throws QueueException { if (e instanceof ConnectivityDownException) { // The session is down. Set the error message, but do not // increment the error count. NPACMessageType message = (NPACMessageType) queueMessage; NPACQueueUtils.updateLastErrorMessage(message.getInvokeID().toString(), e.getMessage()); } else { if (Debug.isLevelEnabled(Debug.MSG_STATUS)) { Debug.log( Debug.MSG_STATUS, "NPACConsumerPolicy, handleError(), Before removing REGION ID...queueMessage.getValues():-" + queueMessage.getValues()); } Map queueMessageValues = queueMessage.getValues(); if (queueMessageValues.containsKey("REGIONID")) { queueMessageValues.remove("REGIONID"); queueMessage.setValues(queueMessageValues); } if (Debug.isLevelEnabled(Debug.MSG_STATUS)) { Debug.log( Debug.MSG_STATUS, "NPACConsumerPolicy, handleError(), After removing REGION ID...queueMessage.getValues():-" + queueMessage.getValues()); } super.handleError(e, queueMessage, queue); } }