【问题标题】:NServiceBus: how to send a message from one domain to another oneNServiceBus:如何将消息从一个域发送到另一个域
【发布时间】:2012-07-03 14:22:16
【问题描述】:

拜托,你能帮帮我吗?

有两个服务使用 NServiceBus 将消息发送到远程队列。

第一个服务位于第一个域 (server1)。 第二个服务位于第二个域 (server2)。 远程队列位于第二个域中的第三个服务器 (server3)。

我可以将消息从 server2 发送到 server3。 但是当我尝试将消息从 server1 发送到 server3 时,我总是会收到此错误:

Common.Logging.ConfigurationException: The destination queue 'queue@server3' could not be found. You may have misconfigured the destination for this kind of message (Messages.Message) in the MessageEndpointMappings of the UnicastBusConfig section in your configuration file. It may also be the case that the given queue just hasn't been created yet, or has been deleted. ---> NServiceBus.Unicast.Queuing.QueueNotFoundException ---> System.Messaging.MessageQueueException: Insufficient resources to perform operation.
at System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType)
at NServiceBus.Unicast.Queuing.Msmq.MsmqMessageSender.NServiceBus.Unicast.Queuing.ISendMessages.Send(TransportMessage message, Address address)
--- End of inner exception stack trace ---
at NServiceBus.Unicast.Queuing.Msmq.MsmqMessageSender.NServiceBus.Unicast.Queuing.ISendMessages.Send(TransportMessage message, Address address)
at NServiceBus.Unicast.UnicastBus.SendMessage(IEnumerable`1 addresses, String correlationId, MessageIntentEnum messageIntent, Object[] messages)
--- End of inner exception stack trace ---
at NServiceBus.Unicast.UnicastBus.SendMessage(IEnumerable`1 addresses, String correlationId, MessageIntentEnum messageIntent, Object[] messages)
at NServiceBus.Unicast.UnicastBus.SendMessage(Address address, String correlationId, MessageIntentEnum messageIntent, Object[] messages)
at NServiceBus.Unicast.UnicastBus.NServiceBus.IBus.Send(Object[] messages)

两个域都位于同一个网络中。我可以从 server1 ping server3,所以我不明白为什么 NServiceBus 找不到目标队列。

我尝试使用 MSMQ 直接格式来指定目标队列地址。但是 NServiceBus 不支持。

【问题讨论】:

  • 您的队列地址 queue@server3 没有任何域资格。 queue@server3.domain.local 呢
  • 我也尝试过使用这种格式,但没有区别。我可以使用“ping server3”和“ping server3.domain”从 server1 ping server3。我用过这两种变体。
  • 我不知道这个问题的原因是什么。我什么都试过了。所有设置均有效。它只有在我重新启动 server1 后才开始工作(哦,这是另一个大问题)。我不知道为什么。
  • 我还会检查防火墙规则,也许请您的系统管理员进行跟踪。在我上一个工作场所,他们默认关闭了 usr 和 prod 环境中的所有端口,因此我们必须完成打开它们的练习。此外,可能值得注意的是,DTC 流量可能会被防火墙阻止,这可能会阻止消息到达目的地。 HTH。

标签: msmq nservicebus


【解决方案1】:

用户自己回答了这个问题:

不知道这个问题的原因是什么。我什么都试过了。 所有设置均有效。它只有在我重新启动后才开始工作 服务器1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 2019-08-30
    • 2020-05-09
    • 2014-08-28
    相关资源
    最近更新 更多