2017-04-06 75 views
0

我已经尝试过几乎所有可以在文档中找到的设置,并且我似乎无法得到一条消息,只是坐在队列中(除了错误队列)。如何在RabbitMQ队列中放置消息并将其留在那里?

我已经试过:

transport.UsePublisherConfirms(false); 

SendOptions().RequireImmediateDispatch(); 

EndpointConfiguration().DisableDurableMessages(); 

似乎没有任何工作。如果没有处理程序,它只会返回,直到它结束在错误队列中。

回答

2

首先我非常好奇你想在这里实现的目标。因为你为什么要让消息永远留在队列中?如果你能提供这方面的信息会非常有帮助,因为可能有更好的解决方案。是否有一个端点在这个队列之上运行?您是否希望在部署处理程序之前发送消息,以便在部署时它将开始处理消息?

你可能想要做什么,是创造出重试,直到永远定制的重试策略:https://docs.particular.net/nservicebus/recoverability/custom-recoverability-policy#implement-a-custom-policy

但是想到这一点的影响,其实在此之前。端点将继续尝试此操作,而其他消息的处理速度会越来越慢,具体取决于队列中连续重试的消息的数量。

相关问题