Nservicebus + RabbitMQ 连接超时错误

问题描述

使用带有 RabbitMQ 的 Nservicebus 获得一些奇怪的赛车条件 当兔子队列中有消息等待时,我会在连接超时, 但是当队列为空时,它会成功连接并且工作正常, 我注意到只有当我使用 MakeInstanceUniquelyAddressable() 设置端点时才会发生这种情况 (我所有的服务都在 UniquelyAddressable 中设置了相同的 ID,也许这就是问题所在), 我查看了 rabbit 的日志,发现连接在连接后几毫秒断开连接

关闭 AMQP 连接

关闭连接'client ip-> rabbit ip'的所有通道,因为它已经关闭

连接代码

            var endpointConfiguration = new EndpointConfiguration(EndpointName);
            endpointConfiguration.UseSerialization<NewtonsoftSerializer>();

            //removing this caused it to work***endpointConfiguration.MakeInstanceUniquelyAddressable("1"); ***
            endpointConfiguration.LimitMessageProcessingConcurrencyTo(NserviceBusConcurrencyLimit);
            var persistence = endpointConfiguration.UsePersistence<InMemoryPersistence>();
            

            var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
            transport.UseConventionalRoutingTopology();
            transport.ConnectionString(RabbitMQConnectionString);
            var routing = transport.Routing();
            
           
            endpointConfiguration.EnableInstallers();

            var endpoint = await Endpoint.Start(endpointConfiguration);

         

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...