#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.