即使消费者抛出异常,Micronaut 也会消费消息

问题描述

鉴于此代码

@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 不一样。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)