2017-03-20 1 views
0

Ich habe ein PowerShell-Skript, das die MSMQ-Nachrichten aus einer Fehlerwarteschlange wiederholt. Ich hatte gehofft, dass NServiceBus.FLRetries mit weiteren Fehlern aktualisiert. Dies ist jedoch nicht der Fall.Verwendung von NServiceBus.FLRetries-Header (NSB 5.2)

Ich habe die documentation gelesen, aber nicht in der Lage, diesen bestimmten Header vollständig zu verstehen.

Was ich sehen möchte, ist die Anzahl der Wiederholungen erhöhen, wie die Nachricht weiterhin nicht verarbeiten (z. B. Web-Service nicht verfügbar).

Ich benutze NSB 5.2.

Irgendwelche Ideen, wie ich das modellieren kann, wenn der obige Header nicht verwendbar ist.

Antwort

0

Leider wird dies nicht funktionieren.

NServiceBus implementiert Erste Ebene Wiederholungen (FLR) durch Rollieren der Empfangstransaktion gegen die Warteschlange zurück, wenn es eine Ausnahme gibt. Rolling die Transaktion zurück bedeutet die Nachricht "nie verlassen" die Warteschlange an erster Stelle. Sie können die Nachricht daher nicht ändern, einschließlich Hinzufügen/Aktualisieren von Kopfzeilen wie NServiceBus.FLRetries. NServiceBus verfolgt stattdessen diese Zählung im Speicher.

Wenn die Meldung Fehler hält und bewegt zu Second Level Retries (SLR) wird NServiceBus fügen Sie den NServiceBus.FLRetries Header zu zeigen, wie viele FLR Wiederholungen insgesamt versucht wurden.

Wenn Sie wirklich den Überblick über die Anzahl der Wiederholungen müssen halten Sie FLR deaktivieren und nur SLR stattdessen verwenden. SLR Wiederholungen inkrementieren die NServiceBus.Retries Header für jeden erneuten Versuch, da sie nicht darauf angewiesen sind, die Empfangstransaktion zurückzurollen.

+0

Danke für die Klarstellung, das macht Sinn. Im Moment um Spiegelreflexkameras herumzuspielen. – msuhash

Verwandte Themen