Kai Moritz [Sun, 12 Jun 2022 09:57:33 +0000 (11:57 +0200)]
Testfall, der die API aufruft und prüft, ob Nachrichten versendet werden
* Der Testfall verwendet `spring-kafka` als Abhängigkeit mit dem Scope
`test`.
* Dies zeigt ein nicht zu unterschätzendes Anwendungsfeld für Spring
Kafka, seblst wenn das eigentliche Projekt gar nicht auf Spring Kafka
aufsetzt: Einfache Implementierung von Integration-Tests.
Kai Moritz [Sun, 12 Jun 2022 12:50:24 +0000 (14:50 +0200)]
Info-Endpoint des Actuator korrigiert
* Der `kafka`-Eintrag hatte noch den veralteten Parameter `throttle-ms`
des Endless Consumer enthalten
* Der `kafka`-Eintrag hatte noch nicht alle über `ApplicationProperties`
konfigurierbaren Parameter ausgegeben.
Kai Moritz [Sun, 10 Apr 2022 17:52:09 +0000 (19:52 +0200)]
Default-Konfiguration überarbeitet
* Eine über die IDE bzw. Maven gestartete Instanz soll klar als solche
erkennbar sein (`client.id` = DEV).
* Bisher gab es häufig Port-Konflikte, wenn über die IDE bzw. über Maven
parallel zu einem Compose-Setup eine Instanz gestartet wurde. Daher wird
jetzt hier explizit auf einen abweichenden Port (8880) ausgewichen.
Kai Moritz [Fri, 8 Apr 2022 10:35:31 +0000 (12:35 +0200)]
Setup von counting-consumer auf endless-consumer umgestellt
* Da der Counting-Consumer von den Teilnehmern als Verbesserung des
Endless-Consumer entwickelt wird, sollte dieser auch unter der selben
Artefakt-ID abgelegt wird
* Ansonsten kommt es bei der Ausführung späterer Setups ggf. zu Fehlern,
wenn diese weiterhin die Abweichende Artefakt-ID counting-consumer
enthalten, obwohl folgende Verbesserungen wieder unter endless-consumer
entwickelt wurden!
Kai Moritz [Sun, 3 Apr 2022 05:45:15 +0000 (07:45 +0200)]
Delivery-Timeout für den REST-Producer herabgesetzt
* Der Timeout für `delivery.timeout.ms` wurde von 2 Minuten auf 20
Sekunden heruntergesetzt
* Grund: Die HTTP-Verbindungen der Clients laufen nach 30 Sekunden in
den Default-Timeout, so dass die Fehler sonst nicht sichtbar werden!
* Achtung: Parallel musste dafür `request.timeout.ms` auf 10 Sekunden
herabgesetzt werden, da `delivery.timeout.ms` größer oder gleich
`request.timeout.ms` + `linger.ms` sein muss!
* Die 10s Spiel zwischen `delivery.timeout.ms` und `request.timeout.ms`
werden für die Übungen benötigt, in denen mit `linger.ms` experimentiert
werden soll...
Kai Moritz [Fri, 25 Mar 2022 09:56:17 +0000 (10:56 +0100)]
EndlessProducer in RestProducer umgearbeitet
* Der Producer nimmt die zu versendende Nachricht über ein POST entgegen
* Als Schlüssel wird der Pfad des POST-Aufrufs verwendet
* Die Anfragen werden mit einem DeferredResult asynchron verarbeitet
* Der Producer antwortet erst mit 200-OK, wenn die Nachricht bestätigt wurde
* Wenn der Broker mit einem Fehler antwortet, wird 500 zurückgegeben
* Wenn der Broker nicht erreicht werden kann, wird 400 zurückgegeben