问题描述
鉴于此代码:
@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 (将#修改为@)