如何将消息放在RabbitMQ队列上并将其留在那里?

时间:2017-04-06 18:42:20

标签: nservicebus

我几乎尝试了我在文档中找到的所有设置,而且我似乎无法获得一条消息,只是坐在队列中(除了错误队列)。

我试过了:

transport.UsePublisherConfirms(false);

SendOptions().RequireImmediateDispatch();

EndpointConfiguration().DisableDurableMessages();

似乎没什么用。如果没有处理程序,它只会踢回直到它在错误队列中结束。

1 个答案:

答案 0 :(得分:2)

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

您可能想要做的是创建自定义重试策略,直到永久重试:https://docs.particular.net/nservicebus/recoverability/custom-recoverability-policy#implement-a-custom-policy

但在实际执行此操作之前,请考虑其含义。端点将继续尝试此操作,其他消息将被处理得越来越慢,具体取决于队列中连续重试的消息的数量。