V03 Event Driven Outbox Deep Dive: Projektbeschreibung und Ablauf
Erweitert das System um Domain Events, Outbox und idempotentes Publishing.
Moduluebersicht
| Modul | Typ | Was es tut | Wichtige Muster |
|---|---|---|---|
order-domain |
Event-faehige Domain | Erweitert die Bestellung um Domain Events und OrderPlaced als fachliches Ereignis. | Domain Event; Aggregate Root; Event Modeling |
order-application |
Use Case + Outbox Port | Verbindet Bestellablauf mit Outbox-Records, Publisher-Template und Ports fuer robuste Event-Auslieferung. | Transactional Outbox; Template Method; Publisher Port |
order-outbox-adapter |
Messaging/Outbox Adapter | Implementiert Outbox-Repository und idempotente Nachrichtenverarbeitung als lernbare Infrastrukturgrenze. | Outbox Relay; Idempotent Consumer; Adapter Pattern |
order-bootstrap |
Runtime Composition | Startet die V03-Variante mit Domain Events und Outbox-Fluss. | Composition Root; Event-Driven Runtime |
Ablauf der Version
- order-domain - Order wird platziert. Domain erzeugt OrderPlaced. Application uebernimmt Event fuer Outbox-Verarbeitung.
- order-application - PlaceOrderUseCase speichert Order. OutboxRecord wird erzeugt. Template publiziert ueber MessagePublisher.
- order-outbox-adapter - Application speichert OutboxRecord. DefaultOutboxPublisher liest und publiziert. IdempotentMessagePublisher schuetzt gegen doppelte Messages.
- order-bootstrap - Runtime startet V03. Use Case erzeugt Bestellung und Outbox. Publisher wird ueber Adapter eingebunden.
Lese-Reihenfolge
- Root-
README.mdder Version lesen. PROJECTS.mdlesen.- Modul-READMEs nacheinander oeffnen.
- Java-Code mit
// PATTERN:-Kommentaren pruefen. - Zentrale Pattern-Doku unter
../../docs/design-patterns.mdvergleichen.