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

相關文章
相關標籤/搜索