Konflikte zwischen konkurrierenden Business-Transaktionen beim Zugriff auf eine Datenquelle werden behandelt, indem die drohende Inkonsistenz zum Zeitpunkt des Updates entdeckt und die ausführende Transaktion abgebrochen wird (rollback).

siehe: GitHub - ReadMe, PEAA, PK

Beispiel

Im Beispiel geht es um die Bearbeitung von Kundendatensätzen.

Die folgende Abbildung zeigt zwei Clients, die konkurrierend die Daten zu Kunde 4711 bearbeiten.

Der erste Client verliert, weil der zweite Client zwischenzeitlich erfolgreich seine Änderung abgeschlossen hat.

Um das Zusammenspiel im Detail beobachten zu können, setzen Sie den log-level auf DEBUG in der logback.xml und führen den zugehörigen TestCase aus.

Ressourcen