在消息传递过程中,可能会遇到各种问题,这些问题可能导致消息处理失败RabbitMQ 提供了重试机制,允许消息在处理失败后重新发送。

        如网络故障、服务不可用、资源不足等,重试可以解决问题

        代码引起的错误,多次重试也是没有用的,可以设置重试次数。

通过Rabbit MQ SDK 提供的方式进行测试

1.自动确认:消息到达消费者,消息就删除了--------------Spring AMQP :NONE

2.手动确认:消息处理成功后,需要进行Ack--------------Spring AMQP :MANUAL

代码演示

1.未配置重试策略

        消费者抛出异常时,会不断重试(消息确认方式:auto)

生产者

消费者

结果:

2.配置重试策略

        重试配置:

1)自动确认

2)手动确认

        配置:

1)未配置重试策略

在导入 Channel 包 时一定要注意路径;

不断进行重试

2)配置重试策略

手动确认时,配置重生策略,无效;

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐