Ziel
Dieses Runbook prüft, ob ein angenommener Auftrag als Outbox Event gespeichert und anschließend nach RabbitMQ veröffentlicht wird.
Start
docker compose up -d
cd maven-project
mvn -pl runtime spring-boot:run
REST Flow auslösen
curl -X POST http://localhost:8080/api/orders/ORD-2001/accept
PostgreSQL prüfen
select event_id, aggregate_id, event_type, status, created_at, published_at
from outbox.events
order by event_id desc;
Erwartung:
- zuerst
NEW - nach Relay-Lauf
PUBLISHED
RabbitMQ prüfen
RabbitMQ Management öffnen:
- URL: http://localhost:15672
- User: order_user
- Passwort: order_pass
Queue prüfen:
billing.order-accepted- Routing Key:
order.accepted
Fehlerfall
Wenn der Consumer eine Exception wirft, kann RabbitMQ über DLX/DLQ erweitert werden. In dieser Phase sind Exchange, Queue und DLQ bereits als Definitionsdatei vorbereitet.