RabbitMQ+RaveDB的原型项目重复出现RabbitMQ的SharedQueue关闭错误



我创建了一个简单的saga原型项目,其中RabbitMQ作为传输机制,RavenDB作为持久机制。原型实际上按预期运行,但每隔几秒钟我就会收到这个错误消息:

错误NServiceBus.Transports.RabbitMQ.RabbitMqDequeueStrategy无法从[程序集]接收消息。重试System.AggregateException:出现一个或多个错误。-->System.IO.EndOfStreamException:SharedQueue已关闭在RabbitMQ.Util.SharedQueue 1.EnsureIsOpen() at RabbitMQ.Util.SharedQueue 1.出列(int 32毫秒超时……

在上面的消息之后,我也立即收到了一条几乎相同的消息,但它说它无法从RabbitMGPoller接收消息。超时

除此之外,还有不断的INFO消息,上面写着:NServiceBus.Transports.RabbitMQ.RabbitMqConnectionManager与RabbitMQ代理断开连接,原因:AMQP关闭原因,启动库,代码=0 text="流结束"。。。cause=System.IOException:无法将数据写入传输连接:远程主机强制关闭了现有连接。--->System.Net.Sockets.SocketException:远程主机强制关闭了现有连接。。。

我已经尝试将DequeueTimeout=600值添加到传输连接,但仍然会发生同样的错误。我也尝试在配置文件中添加以下键,但似乎仍然没有帮助。

我最终明白了,只是我对RabbitMQ和NServiceBus缺乏了解。我将RabbitMQ连接的RequestedHeartbeat值更改为更大的值,即RequestedHeartsbeat=6000。这解决了我的问题。

最新更新