首页 > 解决方案 > MassTransit - 启动总线时 AmazonMQ 的套接字异常

问题描述

我正在尝试使用我们的 Amazon MQ 实例让一个基本的 PoC 应用程序与 MassTransit 一起运行,当我在 IBusControl 上调用 StartAsync 时遇到以下问题:

MassTransit.ActiveMqTransport.ActiveMqConnectException:连接异常:(用户)@(主机)---> Apache.NMS.NMSConnectionException:连接到(主机)时出错---> System.Net.Sockets.SocketException(0xFFFFFFFE):未知错误( 0xffffffffe)在 Apache.NMS.ActiveMQ.Transport.Tcp.TcpTransportFactory.DoConnect(字符串主机,Int32 端口,字符串 localAddress,Int32 本地端口)

注意:在上述例外情况中,我以粗体编辑了项目以删除敏感信息。我们知道我们使用的凭据实际上是正确的,因为我们对使用相同凭据的 NMS 和 ActiveMq 进行了集成测试。但是当尝试使用 MassTransit 进行连接时,我们会收到上述错误。

我尝试了许多不同的方法,但它们都产生了相同的结果。下面是一些示例代码,可以大致了解我们如何尝试连接:

var busControl = Bus.Factory.CreateUsingActiveMq(configurator =>
            {
                configurator.Host(host, activeMqHostConfigurator =>
                {
                    activeMqHostConfigurator.Username(activeMqConfiguration.UserName);
                    activeMqHostConfigurator.Password(activeMqConfiguration.Password);
                });
            });
await busControl.StartAsync(new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);

对 StartAsync 的调用是引发异常的原因。我怀疑这是 MassTransit 的问题,我更可能遗漏了一些东西,但我看不出有什么问题,而且我也让我的团队对其进行了审查。

标签: activemqmasstransitnms

解决方案


正如我在评论中提到的,这最终与 MassTransit 无关。这是由于主机处于非活动状态。


推荐阅读