1、工作队列之公平分发
1.1、使用公平分发必须关闭自动应答,ack改成手动
生产者:消费者1:消费者2:
消费者2处理的消息比消费者1多(能者多劳)
2、消息应答和消息持久化
autoAck:Boolean类型(true、false)
true:rabbit将消息分发给消费者,就会从内存中删除
如果杀死正在执行的消费者,就会丢失正在处理的信息
false:如果有一个消费者挂掉,就会交给另一个消费者进行处理,rabbitmq支持消息应答
消费者发送一个消息应答告诉rabbitmq这个消息处理完成,可以删除了。之后rabbitmq就会删除内存的消息
消息应答默认是false(打开状态的)
Boolean autoAck=true;channel.basicConsume(QUEUE_NAME, autoAck, consumer);
转载于:https://www.cnblogs.com/caiwx/p/11244761.html
相关资源:JAVA上百实例源码以及开源项目