
Fehlerbehandlung
Teil von Doppelte Aktionen verhindern
Wiederholte Ereignisse von neuen Vorgängen unterscheiden
Erkennen Sie, wann ein Ereignis erneut zugestellt wurde und wann ein neuer Geschäftsvorgang vorliegt. Mit fachlicher Regel und prüfbaren Fällen.
Ob eine zweite Nachricht eine Wiederholung oder ein neuer Vorgang ist, entscheidet die beabsichtigte Wirkung. Vergleichen Sie dafür stabile Kennungen und den fachlichen Zustand. Gleicher Text oder ein naher Zeitstempel reichen als Entscheidung nicht aus.
Drei Fälle erkennen
Dieselbe Zustellung erneut: Dieselbe Ereignis-ID trifft wieder ein. Der Empfänger prüft, ob die zugehörige Aktion bereits läuft oder abgeschlossen ist. Eine abgeschlossene Wirkung löst er nicht erneut aus.
Anderes Ereignis zum selben Objekt: Eine neue Ereignis-ID betrifft denselben Auftrag oder dieselbe Rechnung. Sie kann eine neue Änderung melden oder dieselbe Folgeaktion erneut anstoßen. Prüfen Sie Ereignistyp, Objektzustand und die für die Folgeaktion festgelegte Regel.
Neuer fachlicher Auftrag: Eine Person oder ein System beauftragt ausdrücklich eine weitere Aktion, beispielsweise einen neuen Entwurf nach erneuter Freigabe. Gleicher Kunde, Betrag oder Objektbezug macht diesen Auftrag nicht automatisch zum Duplikat.
Drei Fälle: Wiederholung vs. neuer Vorgang
- Fall 1: Dieselbe Zustellung erneutGleiche Ereignis-ID – bereits abgeschlossene Aktion wird nicht erneut ausgeführt.
- Fall 2: Anderes Ereignis zum selben ObjektNeue Ereignis-ID für denselben Auftrag – prüfen Sie Ereignistyp, Zustand und Regel.
- Fall 3: Neuer fachlicher AuftragAusdrückliche neue Anweisung (z. B. neuer Entwurf nach Freigabe) – kein Duplikat, auch bei ähnlichen Daten.
Die Grenze als Regel formulieren
Schreiben Sie für jede kritische Aktion auf, was „einmal pro …“ bedeutet. „Einmal pro Ereignis-ID“, „einmal pro Auftragsversion“ und „einmal pro Abrechnungsabschnitt“ sind verschiedene Regeln. Legen Sie außerdem fest, welche Änderung einen neuen Vorgang eröffnet.
Ein vollständiger Inhaltsvergleich kann in beide Richtungen täuschen: Ähnliche Daten können zu zwei gewollten Vorgängen gehören; technische Felder können sich zwischen Nachrichten unterscheiden, obwohl die fachliche Wirkung dieselbe bleibt. Empfangszeitpunkte beschreiben ebenfalls keine Absicht.
Regel zur Unterscheidung von Wiederholungen und neuen Vorgängen
- Definieren Sie die EindeutigkeitsregelZ. B. „einmal pro Ereignis-ID“, „einmal pro Auftragsversion“ oder „einmal pro Abrechnungsabschnitt“.
- Bestimmen Sie, was einen neuen Vorgang auslöstNicht nur gleiche Daten – sondern eindeutige Absicht (z. B. explizite Freigabe).
- Prüfen Sie den fachlichen ZustandKeine Verwendung von Zeitstempeln oder Textvergleichen allein.
Zustand vor der Folgeaktion prüfen
Halten Sie pro fachlicher Aktion Schlüssel, Status und Ergebniskennung fest. Bei einem neuen Ereignis prüfen Sie, ob die Aktion abgeschlossen ist, noch läuft oder eine definierte Wiederaufnahme braucht. Ein laufender Vorgang sollte weder ein zweites Mal gestartet noch als abgeschlossen behandelt werden.
Prüfen Sie die Regel an den drei Fällen: Bei derselben Ereignis-ID darf eine bereits abgeschlossene Wirkung nicht erneut ausgelöst werden. Bei zwei Ereignis-IDs für dieselbe gewünschte Aktion darf die Folgeaktion gemäß der festgelegten Regel nur einmal wirken. Bei einem ausdrücklich neuen Auftrag muss eine weitere Wirkung möglich sein, auch wenn die Daten denen eines früheren Auftrags ähneln.
Prüfungen vor der Folgeaktion
- Ist die Aktion bereits abgeschlossen?Ja → keine Wiederholung zulassen.
- Läuft die Aktion gerade?Ja → weder neu starten noch als abgeschlossen markieren.
- Benötigt die Aktion eine Wiederaufnahme?Ja → entsprechende Logik implementieren.

