7,EasyNetQ-控制队列名称

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

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

1,控制队列名称blog

要控制队列的名称,请使用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,则它将被追加到末尾并用做队列名称。ip

 

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

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

相关文章
相关标签/搜索