Ich bin sehr neu in den Konzepten von CQRs und Event Sourcing. Dieser Microservice wird mit Spring Boot in Java geschrieben. Im Moment habe ich eine REST -API mit einem Endpunkt /Register. Dieser Endpunkt hat ein DTO mit den Attributen "E -Mail", "Benutzername" und "Passwort". Wenn eines dieser Attribute nicht eindeutig ist, gibt der Endpunkt einen Fehler zurück. < /P>
Soweit, so gut. Die nächste Methode, die nach der Validierung bezeichnet wird, ist die (async) -Handmethode der RegisterUSCommandhandler . Diese Methode soll "Feuer und Vergessen" sein. Wenn also ein Fehler in dieser Methode auftritt, weiß der Controller nichts davon.
Diese Zeile kann eine DataNeTegRityViolationException werfen, wenn der angegebene Benutzername oder die angegebene E -Mail nicht eindeutig ist. Diese Ausnahme wird nur ausgeworfen, wenn zwei Anfragen innerhalb von 2 Sekunden (wenn die Anwendung lokal ausgeführt wird) gesendet wurden, da die Validierung im Controller zurückgegeben hat, dass der Benutzername und die E -Mail aufgrund der Rennbedingungen und der Trennung des Schreibgeschäfts (Ereignisspeicher) dB und der Leser -DB (Postgres DB) eindeutig sind. Die Ausnahme wurde in der Funktion gefangen, wurde jedoch aufgrund des Prinzips "Feuer und Vergessen" nicht zur Funktion innerhalb des Controllers zurückgekehrt. Vielen Dank im Voraus und einen schönen Tag!