0

鉴于此代码:

@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 中是否仍然存在?

我根本看不到重试或死信消息。

我如何确保如果发生异常,消息会按原样重试/放入死信队列。

在 Spring Boot 中,该@Transactional属性可确保按应有的方式重试消息,但这对于 Micronaut 来说并不相同。

4

0 回答 0