RabbitMQ,EasyNetQ队列名称
本文关键字:队列 EasyNetQ RabbitMQ | 更新日期: 2023-09-27 18:21:28
我的队列名称是"TaskQueue",但当我运行代码时,创建一个新的队列,名称是"System_String:mscorlib_TaskQueue"。下面是我的订阅者代码。我的错是什么?
var bus = RabbitHutch.CreateBus("host=localhost;username=guest;password=guest");
bus.SubscribeAsync<string>("TaskQueue", (msg) =>
Task.Factory.StartNew(() =>
{
Console.WriteLine("Got Message: {0}", msg);
}));
基本上你做得对。但是,TaskQueue
是订阅id,不是生成的队列的名称。
默认情况下,EasyNetQ将使用订阅id和消息类型来生成队列名称。因此,它被命名为System_String:mscorlib_TaskQueue
因此,所有id为TaskQueue
的订阅都将被视为并发消费者。
请参阅https://github.com/EasyNetQ/EasyNetQ/wiki/Subscribe
您可以通过控制SubscriptionId生成来更改此行为