如何正确设置NServiceBus以使用远程错误队列?

时间:2010-03-25 13:06:09

标签: nservicebus

我正在尝试设置NServiceBus以使用远程错误队列来简化检查错误的管理。当我这样做时,NServiceBus.Host.exe启动时出现以下错误:

  

2010-03-25 07:59:50,103 [1] ERROR NServiceBus.Utils.MsmqUtilities [(null)]<(null)> - 无法创建队列错误@ C0NSERVICEBUS或检查其存在。处理仍将继续。   System.Messaging.MessageQueueException:无效的队列路径名。      at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath,Boolean throwException)      在System.Messaging.MessageQueue.Exists(String path)      在NServiceBus.Utils.MsmqUtilities.CreateQueueIfNecessary(String queueName)

以下是NServiceBus的配置设置:

    <!-- in order to configure remote endpoints use the format: "queue@machine" 
   input queue must be on the same machine as the process feeding off of it.
   error queue can (and often should) be on a different machine.  -->

<MsmqTransportConfig InputQueue="ClipboardSubscriberInputQueue" ErrorQueue="error@C0NSERVICEBUS" NumberOfWorkerThreads="1" MaxRetries="5"/>

<UnicastBusConfig>
    <MessageEndpointMappings>
        <add Messages="PatientFirst.Messaging" Endpoint="ClipboardPublisherInputQueue@C0NSERVICEBUS"/>
    </MessageEndpointMappings>
</UnicastBusConfig>

这是正常的预期行为吗,如果不是我做错了什么?

1 个答案:

答案 0 :(得分:3)

这是正常行为。

NServiceBus尝试在可能的情况下自动为您创建队列。当它不能时,它的低级组件可能会抱怨,但正如您在日志中看到的那样,更高级别的组件继续工作。