Nservicebus delayed retry with MSMQ -


can enable delayed retries nservicebus , msmq transport. when it throw warning , move message error queue.

"recoverability policy requested delayedretry delayed delivery capability not available current endpoint configuration. moving message error queue instead."

but according nservicebus documentation tells delayed retry can performed if delayed delivery supported. , have below delayed delivery.

"nservicebus provides delayed deliver feature transports don't have native support delayed message delivery, i.e. msmq , sql server transports. "

 endpointconfiguration.sendfailedmessagesto("error");         endpointconfiguration.auditprocessedmessagesto("audit");         endpointconfiguration.disablefeature<timeoutmanager>();         var messageprocessingconcurrency = configurationmanager.appsettings["nservicebusmessageprocessingconcurrency"];         endpointconfiguration.limitmessageprocessingconcurrencyto(int.parse(messageprocessingconcurrency));         //configuring delayed retries         var recoverability = endpointconfiguration.recoverability();         //recoverability.custompolicy(orderrecoverability.customretrypolicy);         recoverability.delayed(             delayed =>             {                 delayed.numberofretries(2);                 delayed.timeincrease(timespan.fromminutes(30));             });         //no imediate retries         recoverability.immediate(             immediate =>             {                 immediate.numberofretries(0);             });         endpointconfiguration.usepersistence<msmqpersistence>();         var transport = endpointconfiguration.usetransport<msmqtransport>();         transport.transactions(transporttransactionmode.sendsatomicwithreceive);         var conventions = endpointconfiguration.conventions();         conventions             .definingeventsas(                 t =>                     t.namespace != null                     && t.namespace.startswith("dodo.fibre.provisioning.messages")); 

as requested have commented out timeout manager disable line below. // endpointconfiguration.disablefeature();

but can not start endpoint getting below error.

2017-08-01 08:45:28.074 fatal nservicebus.hosting.windows.windowshost start fail ure system.exception: selected persistence doesn't have support timeout stor age. select persistence or disable timeout manager feature using end pointconfiguration.disablefeature<timeoutmanager>()    @ nservicebus.features.timeoutmanager.setup(featureconfigurationcontext cont ext) in c:\buildagent\work\3206e2123f54fce4\src\nservicebus.core\delayeddelivery \timeoutmanager\timeoutmanager.cs:line 34    @ nservicebus.features.featureactivator.activatefeature(featureinfo featurei nfo, list`1 featurestoactivate, iconfigurecomponents container, pipelinesettings  pipelinesettings, routingcomponent routing) in c:\buildagent\work\3206e2123f54f ce4\src\nservicebus.core\features\featureactivator.cs:line 194    @ nservicebus.features.featureactivator.setupfeatures(iconfigurecomponents c ontainer, pipelinesettings pipelinesettings, routingcomponent routing) in c:\bui ldagent\work\3206e2123f54fce4\src\nservicebus.core\features\featureactivator.cs: line 57    @ nservicebus.initializableendpoint.<initialize>d__1.movenext() in c:\builda gent\work\3206e2123f54fce4\src\nservicebus.core\initializableendpoint.cs:line 60 

from configuration code can see have disabled timeoutmanager , that's reason delayed retries not working expected e.g.

endpointconfiguration.disablefeature<timeoutmanager>(); 

any reason that? while transport azure servicebus / rabbitmq have built-in delayed-delivery, msmq not have , work managed timeout manager.


Comments

Popular posts from this blog

node.js - Node js - Trying to send POST request, but it is not loading javascript content -

javascript - Replicate keyboard event with html button -

javascript - Web audio api 5.1 surround example not working in firefox -