如何让 NServiceBus SLR 与 MsmqPersistence 一起工作
How to get NServiceBus SLR working with MsmqPersistence
我创建了一个 Windows 控制台应用程序来测试 NServiceBus v5.2.16。我正在使用 MsmqPersistence。 FLR 在接收方无法处理消息时起作用。但是,一旦尝试了 FLR,SLR 就不会启动。
FLR和SLR根据指南定义如下:
<TransportConfig MaxRetries="5" />
<SecondLevelRetriesConfig Enabled="true" TimeIncrease="00:00:10" NumberOfRetries="3" />
这就是我启动服务总线的方式:
static void Main(string[] args)
{
Console.Title = "CRM Sub Test";
var busConfiguration = new BusConfiguration();
busConfiguration.EndpointName("TestQueue");
busConfiguration.UsePersistence<MsmqPersistence>();
busConfiguration.EnableInstallers();
using (var bus = Bus.Create(busConfiguration).Start())
{
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
}
非常感谢任何帮助
此致
这在 Google 组中得到了回答 here. TLDR version: MSMQ Persistence works with subscriptions only and it's not scalable. MSMQ Persistence does not support timeout storage which is required for second-level retries. NHibernate or RavenDB 坚持更适合。
我创建了一个 Windows 控制台应用程序来测试 NServiceBus v5.2.16。我正在使用 MsmqPersistence。 FLR 在接收方无法处理消息时起作用。但是,一旦尝试了 FLR,SLR 就不会启动。
FLR和SLR根据指南定义如下:
<TransportConfig MaxRetries="5" />
<SecondLevelRetriesConfig Enabled="true" TimeIncrease="00:00:10" NumberOfRetries="3" />
这就是我启动服务总线的方式:
static void Main(string[] args)
{
Console.Title = "CRM Sub Test";
var busConfiguration = new BusConfiguration();
busConfiguration.EndpointName("TestQueue");
busConfiguration.UsePersistence<MsmqPersistence>();
busConfiguration.EnableInstallers();
using (var bus = Bus.Create(busConfiguration).Start())
{
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
}
非常感谢任何帮助
此致
这在 Google 组中得到了回答 here. TLDR version: MSMQ Persistence works with subscriptions only and it's not scalable. MSMQ Persistence does not support timeout storage which is required for second-level retries. NHibernate or RavenDB 坚持更适合。