【问题标题】:RabbitMQ server throws an error but locally it is working perfectly fineRabbitMQ 服务器抛出一个错误,但在本地它工作得很好
【发布时间】:2015-06-21 14:11:22
【问题描述】:

设置:

  1. Masstransit 版本:2.10
  2. RabbitMq 客户端:3.4.3.0
  3. RabbitMq 服务器:3.5.3(使用默认端口和配置)
  4. 二郎17.5

我可以访问 RabbitMQ Web 管理客户端并能够在本地使用 rabbitMQ。问题部署在数据中心。

代码:

 ServiceBusFactory.New(sbc =>
        {
            sbc.UseRabbitMq(r => r.ConfigureHost(new Uri("rabbitmq://actual-server-name/queue-name"), h =>
            {
                h.SetUsername("username");
                h.SetPassword("password");
            }));
            sbc.ReceiveFrom("rabbitmq://actual-server-name/queue-name");
            sbc.Subscribe(x => x.LoadFrom(container));
        });

我收到一个异常错误: 它来自 MassTransit.Exceptions.MassTransitException。当你从 RabbitMQ 本身深入挖掘它时。

RabbitMQ.Client.Exceptions.BrokerUnreachableException : 没有一个指定的端点是可达的。

System.IO.Exception : connection.start 从未收到,可能是网络超时。在 Masstransit.ServiceContainer.cs 行中找到:63

为什么会抛出错误;因为我的本地设置中的 rabbitmq 服务器安装是相同的?权限问题?防火墙问题?

【问题讨论】:

  • 您是否使用“guest”“guest”作为用户名和密码?
  • 是的,创建新帐户后问题依旧。此外,我重新启动了我的开发机器,包括 rabbitmq 服务器;我从来没有遇到过这个问题。
  • 答案如前所述,虚拟主机必须已经存在。否则,凭据将无法访问虚拟主机(因为它还不存在)。
  • 嗨,这个异常有什么解决办法吗?
  • @krishnachaitanya 我现在从未尝试过最新版本。我之前通过在 RMQ 中手动创建虚拟主机并在此调用之前提供正确的权限解决了这个问题

标签: c# rabbitmq masstransit


【解决方案1】:

我在测试中观察并验证了; masstransit 不允许从 uri 输入创建虚拟主机。 RabbitMQ 很可能会抛出相同的错误。

要解决此问题,请在 rabbitmq 服务器中手动创建 vhost 和队列。

PS。我知道,这和问的问题不一样。

猜你喜欢
  • 1970-01-01
  • 2017-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 2021-06-09
相关资源
最近更新 更多