rabbitmq channel方法参数详解
1 Queue.Declareok queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, Map<String, Object> arguments)
queue:routingKey,即队列的名称
durable:true/false,是否支持持久化
exclusive:true/false,排他队列,表示是否只能被一个消费者所消费
autoDelete:true/false,表示在没有订阅的消费者时是否被删除
arguments:其他参数
2 void basicQos(int prefetchSize,int prefetchCount,boolean global)
prefetchSize:0
prefetchCount:多个消费者消费能力不同,所以rabbitmq会在消费者消费掉prefetchCount个消息后,再次发送prefetchCount个消息给消费者
global:true/false,是否将上面的配置应用于channel,若是否,就是应用于消费者consumer
3 void basicPublish(String exchange,String routingKey,boolean mandatory,boolean immediate,BasicProperties props,byte[] body) throws IOException
exchange:交换机的名称
routingKey:队列的名称
mandatory:true,exchange根据自身类型和消息routingKey没有找到合适的队列queue,那么就会调用basic.return将消息返回给生产者,若为false,则broker把消息丢弃
immediate:true,当消息通过exchange路由到queue的时候,发现这个queue上面没有消费者,那么就不会进入这个queue,如果根据routingKey匹配到的所有的队列都是没有消费者的,那么就会调用basic.return方法返回给生产者
props:表示消息的持久化,配合channel和queue的durable使用
body:发送的消息
4 Exchange.DeclareOk exchangeDeclare(String exchange,String type,boolean durable,boolean autoDelete,Map<String,Object> arguments)
type:有四种类型,分别为:fanout,direct,topic,headers
durable:表示是否持久化,为true,表示是exchange的持久化,仅设置这一项不代表消息的持久化。
autoDelete:当没有消费者消费的时候是否要删除exchange
5 Exchange.BindOk exchangeBind(String destination,String source,String routingkey)
生产者发送消息到source交换机,source根据路由键找到与其绑定的另一个交换机destination,并把消息转发到destination中,存储在destination绑定的队列queue
6 Queue.BindOk queueBind(String queue, String exchange, String routingKey)
routingKey:作为bindingKey,用于与生产者传过来的消息中携带的routingKey做对比
7 String basicConsume(String queue,boolean autoAck,Consumer callback)
autoAck:消息的确认模式自动应答,true表示自动应答,false需要使用basicAck、basicNack或者是basicReject进行消息应答
callback:消费者对象
8 void basicAck(long deliveryTag,boolean multiple)
deliveryTag:消息的index
multiple:是否批量,若为true,则一次性回执所有小于deliveryTag的消息
9 void basicNack(long deliveryTag,boolean multiple,boolean requeue)
requeue:被拒绝是否重新入队列
10 void basicReject(long deliveryTag,boolean requeue)
basicReject方法和basicNack区别是每次只能拒绝一条消息,因为方法中没有multiple这个参数