如何解决即使消费者抛出异常,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 举报,一经查实,本站将立刻删除。