2012-03-26 8 views
5

Il sistema "retry" con NServiceBus è ottimo. Funziona in modo fantastico assicurandosi che piccole cose come serrature morte non ci rovinino.C'è un modo per dire a NServiceBus di non riprovare un messaggio?

Tuttavia, a volte SO che un messaggio è negativo. Cattivo, nel senso che nessun numero di tentativi può aiutare.

C'è un modo per dire a NServiceBus: "Questo messaggio è una mela cattiva, spostarlo nella coda degli errori"? (E saltare i tentativi?)

risposta

3

Se si utilizza NSB 3, è possibile dare un'occhiata all'interfaccia IManageMessageFailures. Questo ti permetterà di collegare la tua funzionalità, ma questo è dopo che il messaggio è fallito. Se desideri ricevere il messaggio in precedenza, dai un'occhiata alla funzione Message Mutators. Questo ti porta sia a livello di trasporto che a livello di applicazione.

+0

Purtroppo l'aggiornamento alla versione 3 è un po 'impegnativo da parte mia. – Vaccano

+0

Nessun problema, quindi vorrei dare un'occhiata all'utilizzo di un modulo di messaggio. Questo ti permetterebbe di mettere le mani sul messaggio prima dell'elaborazione per buttarlo fuori. –

1

Chiamare Bus.DoNotContinueDispatchingCurrentMessageToHandlers(); nel gestore non sarebbe un modo più semplice di farlo?

Problemi correlati