1

如何增加 NServicebus 4.x 的 TimeoutPersisterReceiver 的时间跨度?

我们如何从容器中获取 TimeoutPersisterReceiver 对象并修改 SecondsToSleepBetweenPolls 值?投票次数是否有任何属性?

以下链接仅适用于5.x&6.x不适用于4.xhttp ://docs.particular.net/nservicebus/errors/critical-exception-for-timeout-outages

编辑:嗨,Marcin,谢谢。我查看了您提供的链接:如何配置 TimeoutPersisterReceiver.SecondsToSleepBetweenPolls

NServicebus 修复了 5.x,但没有修复 4.x。@JustABitOfCode 提到了配置 TimeoutPersisterReceiver。但我找不到任何关于如何从容器中获取该实例并设置它的链接。另外我的问题是,有没有办法控制断路器进行的民意调查次数?

正如我所提到的,我暂时对 4.x 感到震惊。任何帮助将不胜感激。

4

1 回答 1

0

我假设您使用的是 NServiceBus 4.x 的最新次要版本(在撰写本文时为 4.7.12)。

首先让我声明,轮询超时存储的频率取决于您使用的持久性以及延迟消息的实际到期时间。NServiceBus 中没有单一的设置可以控制每单位时间的轮询次数的频率。

现在回到设置TimeoutPersisterReceiver.SecondsToSleepBetweenPolls属性,您可以在实现IWantToRunWhenBusStartsAndStops接口的类中进行。TimeoutPersisterReceiver您可以通过使用属性或构造函数注入来掌握:

public class RunWhenBusStartsAndStops : IWantToRunWhenBusStartsAndStops
{
    public TimeoutPersisterReceiver Receiver { get; set; }

    public void Start()
    {
        Receiver.SecondsToSleepBetweenPolls = 15;
    }

    public void Stop()
    {
    }
}

依赖注入容器应该负责注入正确的TimeoutPersisterReceiver.

于 2016-03-20T19:37:20.043 回答