rabbitmqjava所有基础知识SSM+shiro等

RabbitMQ消费端ACK与重回队列机制

2018-08-14  本文已影响149人  HmilyMing

消费端的手工ACK和NACK

消费端进行消费的时候,如果由于业务异常导致失败了,返回NACK达到最大重试次数,此时我们可以进行日志的记录,然后手动ACK回去,最后对这个记录进行补偿。

或者由于服务器宕机等严重问题,导致ACK和NACK都没有,那我们就需要手工进行ACK保障消费端消费成功,再通过补偿机制补偿。

消费端的重回队列

消费端的重回队列是为了对没有处理成功的消息,把消息重新递给broker。但是在我们的实际生产,一般都会关闭重回队列,

代码地址:    https://github.com/hmilyos/rabbitmq-api-demo

生产端的代码基本没什么变化

注意看消费端的代码,图中圈出来的autoack一定要设置为false,要不然不会生效的

自定义消费者代码如下

先启动消费端,再启动生产端

注意看消费端的日志,发现按 0-4消费完后,0的重回队列了,符合我们的目标

自此,重回队列演示完毕。

上一篇下一篇

猜你喜欢

热点阅读