消息中间件RabbitMQ-----常用应用-------(二)
1:如果从消息系统取到数据但是消费失败???存在消息丢失
mq-demo项目:设置为true存在消息确认问题,
//开始消费
channel.basicConsume(ConnectionUtil.QUEUE_NAME, true, deliverCallback);
ready:消息准备好
unacked:消息待确认(true自动确认(感觉日志可以用,与业务无关系统),false手动确认(1.直到确认为止,2.确认之前消费端与MQ断开连接)清除待确认,返回ready)
total:消息总量
如何解决重复消费:MQ中不提供,自己解决
交换机:四种类型
direct fanout topic headers
fanOut:类型路由键无用,看代码ConsumerFant
direct:传入路由键与绑定的路由键的比较
topic:绑定类型里面*与#号的区别
默认交换机类型为direct,默认队列名为路由键
队列的容量也可以在控制台设置
声明队列交换机,一般都在consumer中声明具体见代码