设置RabbitMqServer(DisablePriorityQueues = true)没有任何效果

时间:2014-10-20 21:41:00

标签: servicestack rabbitmq

鉴于此代码,我希望不会创建Queue mq:Incr.priorityq。我想知道这个设置是否只是禁用了所说的队列,但是它仍然被创建了吗?

这来自以下unit tests

public class RabbitMqRequestReplyTests : MqRequestReplyTests
{
    public override IMessageService CreateMqServer(int retryCount = 1)
    {
        return new RabbitMqServer("cdev-9010.example.com", "test", "test")
        {
            DisablePriorityQueues = true,
            RetryCount = retryCount
        };
    }
}

1 个答案:

答案 0 :(得分:1)

DisablePriorityQueues = true选项可防止任何后台线程产生监听优先级队列from the documentation

启动Rabbit MQ服务器

注册完所有处理程序后,您可以通过启动MQ服务器来开始侦听消息:

mqServer.Start();

为每个处理程序启动MQ服务器生成2个线程,一个用于收听消息收件箱mq:Hello.inq,另一个用于侦听优先级队列,位于mq:Hello.priorityq

  

注意:您可以通过设置 mqServer.DisablePriorityQueues = true ,通过白名单列出要为 mqServer.PriortyQueuesWhitelist 启用优先级队列的邮件,或者将其全部停用


即。它不会阻止创建队列,客户端仍然可以将消息发送到优先级队列,这只意味着这个mqServer不会有任何线程监听和处理在优先级队列上发送的消息