Micronaut использует сообщения, даже если от потребителя возникает исключение

#java #micronaut #micronaut-aws

Вопрос:

Учитывая этот код:

 @Slf4j
@JMSListener(CONNECTION_FACTORY_BEAN_NAME)
@RequiredArgsConstructor
public class IssueNewEventHandler {

    @Transactional
    @Queue(value = "${queue}",
           serializer = "sqsSerializer",
           concurrency = "1-1")
    public void issueNewEvent(@Body Event event) {
        log.info("retrieved message to issue {}", event);
        if (1==1)
            throw new NullPointerException("rollback");
        log.info("completed message to issue {}", event);
    }

}
 

Эта очередь поглотит сообщение, и оно не будет повторено даже при наличии @Transactional атрибута. Эта функция все еще находится в стадии разработки в Micronaut?

Я вообще не вижу повторных попыток или сообщений с мертвыми буквами.

Как я могу гарантировать, что в случае возникновения исключения сообщение будет повторено, как и должно быть / помещено в очередь мертвых писем.

При весенней загрузке @Transactional атрибут гарантирует, что сообщения будут повторяться так, как они должны быть, но это не то же самое для Micronaut.