社会主义小青年的博客

噫吁嚱,危呼高哉!Talk___is___Cheap ,show___ me___ your___ code... >
客官,请打赏

RabbitMQ (Channel参数篇)

Channel 

1:方法ExchangeDeclare

void ExchangeDeclare(string exchange, string type, bool durable, bool autoDelete, IDictionary<string, object> arguments);

参数:

  1.1:exchange:交换机的名称

  1.2:Type:交换机的类型(direct,fanout,topic)

  1.3:durable:如果为true的话,服务器重启后该Exchange保留。(尽设置此项,不能保证重启后消息还在)

  1.4:autoDelete:如果为true的话,当没有消费者的时候,Exchange自动删除。

  1.5:argments:交换机的属性参数

2:方法BasicQos

void BasicQos(uint prefetchSize, ushort prefetchCount, bool global);

参数:

  2.1:prefetchsize:prefetchSize maximum amount of content (measured in  octets) that the server will deliver, 0 if unlimited。

  2.2:prefetchCount:prefetchCount maximum number of messages that the server will deliver, 0 if unlimited。一次推给一个消费者的消息数不会超过设置的数。一单超过。消费者将阻塞,一直等到有消息确认ACK

  2.3:global:global true if the settings should be applied to the entire channel rather than each consumer。如果设置为true,则上面的设置会应用于整个Channel,而不是单个的消费者。

 3:方法BasicPublish

void BasicPublish(string exchange, string routingKey, bool mandatory, IBasicProperties basicProperties, byte[] body);

  3.1:exchange:交换机的名称。

  3.2:routingKey:路由键(# 代表匹配0个或者多个单词,*代表匹配一个单词)。

  3.3:mandatory:如果设置为true,如果交换机根据交换机类型和routeKey无法找到一个符合条件的Queue,那么会调用Basic.Return方法将消息返还给生产者。如果设置为false,出现上述情形momBroker会直接将消息扔掉。

  3.4:basicProperties:基本属性:deliveryMode,0:不持久化 1:持久化 (消息的持久化),配合channel(durable=true),queue(durable)可以实现,即使服务器挂掉,消息仍然存在。

  3.5:body:指的是传输的数据。

 4:方法BasicAck

void BasicAck(ulong deliveryTag, bool multiple);

  4.1:deliveryTag:消息的Tag。

  4.2:multiple:如果设置为true,则将小于tag的消息一次性Ack。

5:方法BasicNack

void BasicNack(ulong deliveryTag, bool multiple, bool requeue);

  5.1:deliveryTag:消息的Tag。

  5.2:multiple:如果设置为true,则将小于tag的消息一次性NAck。

  5.3:requeue:如果设置为true,则被Nack的信息重新入队列。

6:方法BasicReject

void BasicReject(ulong deliveryTag, bool requeue);

  6.1:deliveryTag:消息的Tag。

  6.2:requeue:如果设置为true,则被拒绝的信息重新入队列。

7:方法BasicConsume

string BasicConsume(string queue, bool noAck, string consumerTag,  IDictionary<string, object> arguments, IBasicConsumer consumer);

剩下的有时间再写吧。。。。。

posted @ 2018-04-19 14:31  小青年先生  阅读(2778)  评论(0编辑  收藏  举报