summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Kai Moritz [Thu, 26 Sep 2024 08:32:01 +0000 (10:32 +0200)]
TMP
--
Als Holzweg erachtet.
Es ist eigentlich viel einfacher, nur einen Thread zu pfelgen.
Das sollte mit weniger Boilerplate-Code möglich sein, als dieser Ansatz.
Der eigentlich Auslöser für den Abbruch war aber ein mysteriöses Problem beim Debugging.
Beim Shutdown wurde immer der Default von 30 Sekunden auf die Bean `applicationTaskExecutor` gewartet.
Das macht eigentlich gar keinen Sinn, weil (die letzen verzweifelten Commits) eigentlich noch mal sicher gestellt hatten, dass _alle_ explizit ausgeführten Beans wirklich beendet werden.
Es war also die Frage, auf welche Beans gewartet wird.
Warten tut da `DefaultLifecycleProcessor#stop`.
Genau dort werden die Log-Messages vor und nach den 30 Sekunden produziert.
Hier haben aber die Breakpoints von Intellij nicht gezogen!
Auch in `ExecutorConfigurationSupport` und `ThreadPoolExecutor` nicht!
Daher konnte ich nicht herausfinden, worauf da warum gewartet wird!
Kai Moritz [Wed, 25 Sep 2024 23:03:26 +0000 (01:03 +0200)]
TMP
Kai Moritz [Wed, 25 Sep 2024 22:17:33 +0000 (00:17 +0200)]
WIP
Kai Moritz [Wed, 25 Sep 2024 21:31:07 +0000 (23:31 +0200)]
`rest-producer` in einen `spring-producer` zurückgebaut
Kai Moritz [Wed, 25 Sep 2024 20:08:05 +0000 (22:08 +0200)]
GIT-Plugin hinzugefügt
Kai Moritz [Wed, 25 Sep 2024 20:03:20 +0000 (22:03 +0200)]
Schreibweise des CLI-Kommandos für Docker-Compose korrigiert
Kai Moritz [Wed, 25 Sep 2024 12:26:14 +0000 (14:26 +0200)]
Upgrade der verwendeten Kafka-Images auf 7.7.1
Kai Moritz [Wed, 25 Sep 2024 12:21:32 +0000 (14:21 +0200)]
Upgrade der Java-Version auf 21
Kai Moritz [Wed, 25 Sep 2024 12:21:09 +0000 (14:21 +0200)]
Upgrade des `docker-maven-plugin` auf 0.45.0
Kai Moritz [Wed, 25 Sep 2024 12:20:34 +0000 (14:20 +0200)]
Upgrade auf Spring Boot 3.3.4
Kai Moritz [Wed, 25 Sep 2024 20:34:29 +0000 (22:34 +0200)]
Racecondition in Test korrigiert
Kai Moritz [Wed, 25 Sep 2024 20:19:07 +0000 (22:19 +0200)]
Durch Lombok ausgelösten Kompilierungs-Fehler mit dem JDK 21 korrigiert
Kai Moritz [Wed, 25 Sep 2024 17:13:05 +0000 (19:13 +0200)]
Einheitliche Benennung des Producers -- ALIGN
Kai Moritz [Wed, 25 Sep 2024 17:13:00 +0000 (19:13 +0200)]
Einheitliche Benennung des Producers -- MOVE
Kai Moritz [Wed, 1 Nov 2023 12:18:09 +0000 (13:18 +0100)]
Vereinfachtes setup aus Grundlagen-Übungen übernommen
Kai Moritz [Mon, 12 Jun 2023 18:48:27 +0000 (20:48 +0200)]
Implementierung zum Anfügen der Header wiederhergestellt
Kai Moritz [Tue, 17 Oct 2023 15:53:20 +0000 (17:53 +0200)]
Setup-Verbesserungen aus grundlagen/docker übernommen
Kai Moritz [Sat, 17 Jun 2023 12:43:40 +0000 (14:43 +0200)]
Aktualisierung auf Java 17
Kai Moritz [Wed, 14 Jun 2023 19:02:43 +0000 (21:02 +0200)]
`git-commit-id-plugin` stört bei neuem (alten) Setup für Musterlösungen
Kai Moritz [Mon, 12 Jun 2023 19:21:06 +0000 (21:21 +0200)]
AKHQ auf einen eindeutigeren Port verlegt
Kai Moritz [Sun, 11 Jun 2023 22:36:29 +0000 (00:36 +0200)]
Übung überarbeitet: Gegenüberstellung von Key-Hashing und Fixed
Kai Moritz [Sun, 11 Jun 2023 21:14:51 +0000 (23:14 +0200)]
Automatisches entfernen von Orphans beim Start
Kai Moritz [Sun, 11 Jun 2023 21:13:45 +0000 (23:13 +0200)]
Implementierung der Header entfernt - Übung kommt jetzt später
Kai Moritz [Sun, 11 Jun 2023 15:12:15 +0000 (17:12 +0200)]
Übung an die Docker-Übung angepasst
Kai Moritz [Sun, 11 Jun 2023 07:40:54 +0000 (09:40 +0200)]
Docker-Setup in das Unterverzeichnis `docker` verschoben
Kai Moritz [Fri, 9 Jun 2023 09:16:42 +0000 (11:16 +0200)]
Beispiele verwenden das Interface, um die erzeugte Instanz abzulegen
Kai Moritz [Sun, 29 Jan 2023 16:05:22 +0000 (17:05 +0100)]
Tags für die Übung ergänzt
Kai Moritz [Sun, 29 Jan 2023 14:25:55 +0000 (15:25 +0100)]
README.sh & Setup für die Übung `rest-producer--partitioning` umgestellt
Kai Moritz [Tue, 22 Nov 2022 20:48:57 +0000 (21:48 +0100)]
Setup & Vorführskript verbessert und Tags für Übung ergänzt
Kai Moritz [Tue, 22 Nov 2022 20:48:34 +0000 (21:48 +0100)]
Verbesserungen an Vorführskript aus producer/simple-producer übernommen
Kai Moritz [Tue, 22 Nov 2022 20:47:13 +0000 (21:47 +0100)]
.editorconfig hinezugefügt
Kai Moritz [Fri, 4 Nov 2022 12:01:13 +0000 (13:01 +0100)]
Compose-Setup auf KRAFT mit bitnami-Images umgestellt
Kai Moritz [Sat, 24 Sep 2022 13:04:56 +0000 (15:04 +0200)]
Ausführung von README.sh resilienter
Kai Moritz [Sat, 13 Aug 2022 17:08:49 +0000 (19:08 +0200)]
Validierung für ApplicationProperties aktiviert
Kai Moritz [Sat, 13 Aug 2022 16:37:19 +0000 (18:37 +0200)]
refactor: `RestProducer` wird explizit erzeugt
* `ApplicationConfiguration` eingeführt.
* Um eine bessere Kontrolle über die verwendeten Parameter zu erhalten,
wird `RestProducer` jetzt explizit in `ApplicationConfiguration` erzeugt.
* `KafkaProducer` wird in `ApplicationConfiguration` erzeugt und in
`RestProducer` hereingereicht.
Kai Moritz [Sun, 7 Aug 2022 11:40:24 +0000 (13:40 +0200)]
Merge der überarbeiteten Compose-Konfiguration (Branch 'customized')
Kai Moritz [Wed, 3 Aug 2022 19:48:31 +0000 (21:48 +0200)]
Überarbeitungen von Setup/Übung aus Branch 'rest-producer' gemerged
* Überarbeitungen an die Übung 'customized' angepasst.
Kai Moritz [Tue, 2 Aug 2022 19:39:39 +0000 (21:39 +0200)]
Das Logging so überarbeitet/umkonfiguriert, dass man den Fehler sieht
Kai Moritz [Tue, 2 Aug 2022 17:56:17 +0000 (19:56 +0200)]
Setup und README.sh für rest-producer überarbeitet
* Setup an das Ausgangs-Setup angeglichen.
* Das Setup verwendet jetzt `kafkacat` als Consumer.
* Das README.sh entsprechend der Übung und der Änderungen angepasst.
Kai Moritz [Tue, 26 Jul 2022 19:15:35 +0000 (21:15 +0200)]
Später benötigten Konfiurations-Parameter `partition` hinzugefügt
Kai Moritz [Mon, 25 Jul 2022 15:58:28 +0000 (17:58 +0200)]
Später benötigten Header zum Postmapping hinzugefügt
Kai Moritz [Sat, 23 Jul 2022 10:34:57 +0000 (12:34 +0200)]
Merge der überarbeiteten Compose-Konfiguration ('customized')
Kai Moritz [Sat, 23 Jul 2022 10:31:39 +0000 (12:31 +0200)]
Merge der überarbeiteten Compose-Konfiguration ('rest-producer')
Kai Moritz [Sat, 23 Jul 2022 09:27:34 +0000 (11:27 +0200)]
Merge der überarbeiteten Compose-Konfiguration ('endless-stream-producer')
Kai Moritz [Sat, 23 Jul 2022 09:20:58 +0000 (11:20 +0200)]
Compose-Konfiguration unabhängig von Default-Konfiguration gemacht
* Damit Instanzen parallel über die IDE (mit voreingestelltem Default-Port)
und Compose gestartet werden können, wurden den einzelnen Komponenten
(Producer, Consumer etc.) jeweils unterschiedliche explizite
Default-Ports zugewiesen.
* Dies führt leicht zu fehlern, in den Compose-Setups, da dort i.d.R.
Port-Mappings für die gestarteten Instanzen definiert werden.
* Daher werden die Compose-Setups jetzt so umgestellt, dass sie den
einkompilierten Default-Port der Komponenten explizit mit dem Port `8080`
überschreiben, so dass alle Komponenten _innerhalb_ von Compose
einheitlich (und so wie bei Spring-Boot standard) über `8080` ansprechbar
sind.
Kai Moritz [Fri, 22 Jul 2022 19:53:48 +0000 (21:53 +0200)]
Merge der Upgrades für Confluent/Spring-Boot (Branch 'customized')
Kai Moritz [Fri, 22 Jul 2022 19:48:24 +0000 (21:48 +0200)]
Merge der Upgrades für Confluent/Spring-Boot (Branch 'rest-producer')
Kai Moritz [Fri, 22 Jul 2022 18:23:55 +0000 (20:23 +0200)]
Merge der Upgrades für Confluent/Spring-Boot ('endless-stream-producer')
Kai Moritz [Fri, 22 Jul 2022 18:19:56 +0000 (20:19 +0200)]
Merge der Upgrades für Confluent/Spring-Boot (Branch 'first-contact')
Kai Moritz [Fri, 22 Jul 2022 18:04:07 +0000 (20:04 +0200)]
Upgrade von Spring Boot und den Confluent-Kafka-Images
* Upgrade der Kafk-Images von Confluent 7.0.2 auf 7.1.3
** Unterstützt Kafka 3.1.x (siehe https://docs.confluent.io/platform/current/installation/versions-interoperability.html[Versions-Matrix])
* Upgrade für Spring Boot von 2.6.5 auf 2.7.2
** Enthält Kafka: 3.1.1
** Enthält Spring Kafka: 2.8.8
Kai Moritz [Sun, 12 Jun 2022 13:14:12 +0000 (15:14 +0200)]
Name und Beschreibung in POM getrennt
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 [Tue, 31 May 2022 03:39:30 +0000 (05:39 +0200)]
Merge branch 'endless-stream-producer' into rest-producer
Kai Moritz [Sun, 10 Apr 2022 18:55:56 +0000 (20:55 +0200)]
shutdown-Endpoint aktiviert
Kai Moritz [Sun, 10 Apr 2022 18:55:42 +0000 (20:55 +0200)]
Informationen zur Kafka-Konfiguration im info-Endpoint sichtbar gemacht
Kai Moritz [Sun, 10 Apr 2022 18:55:13 +0000 (20:55 +0200)]
Informationen zur Java-Umgebung im info-Endpoint aktiviert
Kai Moritz [Sun, 10 Apr 2022 18:27:49 +0000 (20:27 +0200)]
Das Git-Commit-Id-Plugin generiert eine git.properties
Kai Moritz [Sun, 10 Apr 2022 18:25:28 +0000 (20:25 +0200)]
Das Spring-Boot-Maven-Plugin generiert Build-Info
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 [Sun, 10 Apr 2022 17:49:44 +0000 (19:49 +0200)]
Falschen Status-Code bei start/stop-Fehler korrigiert
Kai Moritz [Fri, 8 Apr 2022 11:09:54 +0000 (13:09 +0200)]
Merge branch 'rest-producer' into customized
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 18:33:42 +0000 (20:33 +0200)]
Tags für die Übung ergänzt
Kai Moritz [Sun, 3 Apr 2022 17:43:21 +0000 (19:43 +0200)]
Der REST-Producer ergänzt Header (Header `X-id` und seine `client.id`)
Kai Moritz [Sun, 3 Apr 2022 15:15:21 +0000 (17:15 +0200)]
Der Rest-Producer schreibt in eine fixe Partition, wenn so konfiguriert
Kai Moritz [Sun, 3 Apr 2022 10:18:34 +0000 (12:18 +0200)]
HTTPie gibt nicht nur den Response, sondern auch den Request aus
Kai Moritz [Sun, 3 Apr 2022 06:26:19 +0000 (08:26 +0200)]
Merge des Upgrades der Confluent-Images auf 7.0.2
Kai Moritz [Sun, 3 Apr 2022 06:17:21 +0000 (08:17 +0200)]
Merge des Upgrades der Confluent-Images auf 7.0.2
Kai Moritz [Sun, 3 Apr 2022 06:15:30 +0000 (08:15 +0200)]
Upgrade der Images von Confluent 6.2.0 auf 7.0.2
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 [Sat, 2 Apr 2022 21:08:11 +0000 (23:08 +0200)]
Setup für die Demonstration des Rest-Producers überarbeitet
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
Kai Moritz [Sat, 2 Apr 2022 15:00:36 +0000 (17:00 +0200)]
EndlessProducer in RestProducer umbenannt
* Ohne die Umbenennung _vor_ der Veränderung würde die Versions-Historie
der Klasse verloren gehen!
Kai Moritz [Fri, 1 Apr 2022 11:41:14 +0000 (13:41 +0200)]
Korrekturen des README-Skriptes auf first-contact übernommen
Kai Moritz [Fri, 1 Apr 2022 09:56:34 +0000 (11:56 +0200)]
README.sh verwendet den cli-Service für Kommandos
Kai Moritz [Fri, 25 Mar 2022 14:28:21 +0000 (15:28 +0100)]
Fehlerkorrektur aus first-contact gemerged
Kai Moritz [Fri, 25 Mar 2022 14:27:50 +0000 (15:27 +0100)]
Fälschlich hartkodiertes Topic gegen Variable getauscht
Kai Moritz [Fri, 25 Mar 2022 14:20:00 +0000 (15:20 +0100)]
Verständliche Fehlermeldungen für DriverController
Kai Moritz [Fri, 25 Mar 2022 13:06:53 +0000 (14:06 +0100)]
Synchronisation bei Start/Stop repariert und Ausgabe für Fehler ergänzt
Kai Moritz [Fri, 25 Mar 2022 12:36:52 +0000 (13:36 +0100)]
Reorganisierten Code aus first-contact gemerged
Kai Moritz [Fri, 25 Mar 2022 11:44:48 +0000 (12:44 +0100)]
SimpleProducer in Endless Producer umbenannt
* Nötig, um die GIT-Historie zu reparieren, so dass Änderungen über die
Umbenennung hinaus von GIT erkannt werden können.
Kai Moritz [Fri, 25 Mar 2022 10:19:03 +0000 (11:19 +0100)]
Code reorganisiert, um Änderungen vergleichbarer zu machen
Kai Moritz [Fri, 25 Mar 2022 09:11:07 +0000 (10:11 +0100)]
Obsoletes Klassen-Attribut entfernt
Kai Moritz [Fri, 25 Mar 2022 08:28:23 +0000 (09:28 +0100)]
Merge der Aktualisierungen aus first-contact
Kai Moritz [Fri, 25 Mar 2022 08:25:54 +0000 (09:25 +0100)]
Upgrade für Spring Boot 2.6.0 -> 2.6.5
* Kafka: 3.0.1
* Spring Kafka: 2.8.4
Kai Moritz [Tue, 14 Dec 2021 18:09:57 +0000 (19:09 +0100)]
Endless Producer: a simple producer, implemented as Spring-Boot-App
Kai Moritz [Tue, 14 Dec 2021 17:55:02 +0000 (18:55 +0100)]
First Contact: Simple Producer & Consumer