2015-06-05 67 views
0

一旦我在Visual Studio中启动应用程序,就会收到SharedQueue关闭错误。现在错误非常频繁。据我所知,我们还没有对代码&做出任何更改,此代码在早期工作良好。SharedQueue已关闭 - RabbitMQ错误消息

我看到很多类似的错误发布在网上,所以我没有找到任何有用的帖子。当异常发生时,它不会指向任何代码。请参阅下面的错误的详细信息:

enter image description here

以下是错误堆栈跟踪:

at RabbitMQ.Util.SharedQueue.EnsureIsOpen() 
    at RabbitMQ.Util.SharedQueue.Dequeue(Int32 millisecondsTimeout, Object& result) 
    at MassTransit.Transports.RabbitMq.RabbitMqConsumer.Get(TimeSpan timeout) in d:\BuildAgent-02\work\19b3d91f8acfae7a\src\Transports\MassTransit.Transports.RabbitMq\RabbitMqConsumer.cs:line 94 

我不知道它的relvant但我附上队列状态,以及:

enter image description here

+0

你可以添加rabbitmq日志吗?尝试在此错误期间执行日志 – Gabriele

+0

在应用程序池被回收的同时是否发生错误?这是我过去遇到的一个问题,通过升级MassTransit软件包的版本得到解决 – Paul

+0

@Paul:感谢您的快速回复。我没有看到任何其他错误。我观察到很多消息进入'queue_error'队列。如果您在问题中看到图片,您将看到两个队列中有296和5847条消息。 – SharpCoder

回答

0

我猜想有些事情正在处置一个IEndpoint实例,它是也许用于发送或接收消息,并且该处置正在关闭运输。这导致接收队列被关闭,而总线不知道它。

使用MassTransit时应该处理的唯一对象引用是服务正在退出时的IServiceBus实例。处理该对象会清除其他所有内容。

+0

这个错误信息并不常见,一旦它开始出现,它会持续一段时间。我仍然不确定在哪里看! – SharpCoder