我正在尝试设置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>
这是正常的预期行为吗,如果不是我做错了什么?
答案 0 :(得分:3)
这是正常行为。
NServiceBus尝试在可能的情况下自动为您创建队列。当它不能时,它的低级组件可能会抱怨,但正如您在日志中看到的那样,更高级别的组件继续工作。