public static List batchProcessor()

in powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsUtils.java [481:506]


    public static <R> List<R> batchProcessor(final SQSEvent event,
                                             final boolean suppressException,
                                             final SqsMessageHandler<R> handler,
                                             final boolean deleteNonRetryableMessageFromQueue,
                                             final Class<? extends Exception>... nonRetryableExceptions) {
        final List<R> handlerReturn = new ArrayList<>();

        if(client == null) {
            client = SqsClient.create();
        }

        BatchContext batchContext = new BatchContext(client);

        for (SQSMessage message : event.getRecords()) {
            try {
                handlerReturn.add(handler.process(message));
                batchContext.addSuccess(message);
            } catch (Exception e) {
                batchContext.addFailure(message, e);
            }
        }

        batchContext.processSuccessAndHandleFailed(handlerReturn, suppressException, deleteNonRetryableMessageFromQueue, nonRetryableExceptions);

        return handlerReturn;
    }