private void handleMessage()

in src/main/java/com/amazonaws/services/sqs/util/SQSMessageConsumer.java [139:163]


    private void handleMessage(Message message) {
        if (shuttingDown.get()) {
            sqs.changeMessageVisibility(queueUrl, message.getReceiptHandle(), 0);
            return;
        }
        try {
            accept(message);
            sqs.deleteMessage(queueUrl, message.getReceiptHandle());
        } catch (QueueDoesNotExistException e) {
            // Ignore
        } catch (RuntimeException processingException) {
            // TODO-RS: separate accept from delete in exception handling
            String errorMessage = "Exception encountered while processing message with ID " + message.getMessageId();
            exceptionHandler.accept(new RuntimeException(errorMessage, processingException));
            
            try {
                sqs.changeMessageVisibility(queueUrl, message.getReceiptHandle(), 0);
            } catch (QueueDoesNotExistException e) {
                // Ignore
            } catch (RuntimeException cmvException) {
                String cmvErrorMessage = "Exception encountered while changing message visibility with ID " + message.getMessageId();
                exceptionHandler.accept(new RuntimeException(cmvErrorMessage, cmvException));
            }
        }
    }