2016-04-11 7 views
0

Wie lautet die Anleitung zur Kurzschlusswiederholungsrichtlinie bei einem nicht vorübergehenden Fehler.MassTransit-Bypass-Wiederholungsrichtlinie, wenn kein vorübergehender Fehler auftritt

Szenario.

Verwendung von MassTransit v3 an RabbitMq angehängt. Eine einfache Retry-Richtlinie versuchen Sie 5 mal Setup in der Pipeline. In Consume für die Nachricht tritt ein nicht behebbarer Fehler auf, anstatt eine Ausnahme auszulösen und vier weitere Male zu versuchen, diese Nachricht in die Fehlerwarteschlange zu verschieben.

+0

Ok sieht so aus. var retryPolicy = new ExponentialRetryPolicy ( Filter: new PolicyExceptPolicyExceptionFilter (typeof (SchemaValidationException)), RetryLimit: 5, minInterval: TimeSpan.FromSeconds (1), MaxInterval: TimeSpan.FromSeconds (30), intervalDelta: TimeSpan.FromSeconds (5)); – Jafin

Antwort

2

können Sie verwenden:

Retry.Except<BadException>().Immediate(5); 
0

Die Lösung von Chris aus irgendeinem Grund nicht für mich arbeiten. Vielleicht habe ich diesen Anruf aus dem falschen Kontext heraus getätigt. Das einzige, was funktionierte, war, zwei UseRetry-Anrufe zu machen: