Fork me on GitHub

7,EasyNetQ-控制队列名称

EasyNetQ在为队列生成名称时的默认行为是使用   消息类型名称+subscription Id

例如,名称空间EasyNetQ.Tests.Integration中的PartyInvitation消息类型将使用队列名称EasyNetQ.Tests.Integration.PartyInvitation:EasyNetQ.Tests_schedulingTest1,假定订阅ID为schedulingTest1。

1,控制队列名称

要控制队列的名称,请使用Queue属性注释消息类:

[Queue("TestMessagesQueue", ExchangeName = "MyTestExchange")]
public class TestMessage
{
   public string Text { get; set; }
}

// ...

bus.Subscribe<TestMessage>(string.Empty, msg => Console.WriteLine(msg.Text));

在这里,我们告诉EasyNetQ将TestMessagesQueue用作队列名称,将MyTestExchange用作交换名称。 注意传递给Subscribe方法的subscriptionId是空的。 如果指定subscriptionId,则它将被追加到末尾并用作队列名称。

 

2,有关命名队列的注意事项

将队列名称设置为空字符串将使用默认的命名行为。队列名称的最大长度为255个字符(这由RabbitMQ客户端库执行)。名称可以是字母,数字,连字符,下划线,句号或冒号的序列。队列名称以“amq”开头。保留给预先声明和标准化的队列。

 

posted on 2018-03-25 19:52  *Hunter  阅读(904)  评论(0编辑  收藏  举报

导航

AmazingCounters.com