开发者社区 > 云原生 > 正文

当发送最大次数仍然失败时,在MQClientException中抛出ClientErrorCode.

1、 使用rmq clinet向broker发送消息

2、 当重试次数达到最大值时会发生异常,异常代码让我感到困惑。

3、 我阅读了rmq客户端代码并找到了它

Rmq-客户端清楚地给我一个异常代码,例如:RETRY_TO_FAILED

当发送最大次数仍然失败时,在MQClientException中抛出ClientErrorCode.CONNECT_BROKER_EXCEPTION,在DefaultMQProducerImpl.java中

https://github.com/apache/rocketmq/blob/master/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java#L630

原提问者GitHub用户HymanShi

展开
收起
芬奇福贵 2023-05-26 15:56:43 237 0
1 条回答
写回答
取消 提交回答
  • 正如您所描述的,rocketmq确实需要完善机制,使其对定位问题更加清晰和有用,所以您愿意一起完善这一点吗?

    第二个问题,如果生产者在服务器响应SYSTEM_BUSY异常时仍然重试,这将增加服务器的负载,因此为了保护服务器, 生产者将停止重试过程。

    原回答者GitHub用户duhenglucky

    2023-05-26 17:53:21
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载