2016-09-15 6 views
0

Я создал приложение Windows Console для тестирования NServiceBus v5.2.16. Я использую MsmqPersistence. FLR работает, когда сообщения не обрабатываются на ресивере. Однако SLR не срабатывает, как только FLR были опробованы.Как получить NServiceBus SLR, работающий с MsmqPersistence

КЛР и 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(); 
     } 
    } 

Любая помощь очень ценится

С уважением

ответ

2

Это ответили в группах Google here. Версия TLDR: MSMQ Persistence работает только с подписками и, что не масштабируется. MSMQ Persistence не поддерживает хранение тайм-аута, которое требуется для повторных попыток второго уровня. NHibernate или RavenDB Настойчивость более подходит для этого.

0

David and Sean

Спасибо за ваш ввод. Я также разместил этот вопрос в Google Groups, а link, который вы добавили в свой комментарий, является ответом на мой вопрос.

С уважением