demos/kafka/training
6 months agoREADME.sh für die Übung `rest-producer--headers` umgestellt producer/rest-producer--headers producer/rest-producer--headers---2023-10-signal
Kai Moritz [Sun, 29 Jan 2023 14:25:55 +0000 (15:25 +0100)]
README.sh für die Übung `rest-producer--headers` umgestellt

6 months agoImplementierung zum Anfügen der Header wiederhergestellt
Kai Moritz [Mon, 12 Jun 2023 18:48:27 +0000 (20:48 +0200)]
Implementierung zum Anfügen der Header wiederhergestellt

6 months agoSetup-Verbesserungen aus grundlagen/docker übernommen
Kai Moritz [Tue, 17 Oct 2023 15:53:20 +0000 (17:53 +0200)]
Setup-Verbesserungen aus grundlagen/docker übernommen

10 months agoAktualisierung auf Java 17
Kai Moritz [Sat, 17 Jun 2023 12:43:40 +0000 (14:43 +0200)]
Aktualisierung auf Java 17

10 months ago`git-commit-id-plugin` stört bei neuem (alten) Setup für Musterlösungen
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

10 months agoAKHQ auf einen eindeutigeren Port verlegt
Kai Moritz [Mon, 12 Jun 2023 19:21:06 +0000 (21:21 +0200)]
AKHQ auf einen eindeutigeren Port verlegt

10 months agoÜbung überarbeitet: Gegenüberstellung von Key-Hashing und Fixed
Kai Moritz [Sun, 11 Jun 2023 22:36:29 +0000 (00:36 +0200)]
Übung überarbeitet: Gegenüberstellung von Key-Hashing und Fixed

10 months agoAutomatisches entfernen von Orphans beim Start
Kai Moritz [Sun, 11 Jun 2023 21:14:51 +0000 (23:14 +0200)]
Automatisches entfernen von Orphans beim Start

10 months agoImplementierung der Header entfernt - Übung kommt jetzt später
Kai Moritz [Sun, 11 Jun 2023 21:13:45 +0000 (23:13 +0200)]
Implementierung der Header entfernt - Übung kommt jetzt später

10 months agoÜbung an die Docker-Übung angepasst
Kai Moritz [Sun, 11 Jun 2023 15:12:15 +0000 (17:12 +0200)]
Übung an die Docker-Übung angepasst

10 months agoDocker-Setup in das Unterverzeichnis `docker` verschoben
Kai Moritz [Sun, 11 Jun 2023 07:40:54 +0000 (09:40 +0200)]
Docker-Setup in das Unterverzeichnis `docker` verschoben

10 months agoBeispiele verwenden das Interface, um die erzeugte Instanz abzulegen
Kai Moritz [Fri, 9 Jun 2023 09:16:42 +0000 (11:16 +0200)]
Beispiele verwenden das Interface, um die erzeugte Instanz abzulegen

15 months agoTags für die Übung ergänzt rest-producer--partitioning rest-producer--partitioning--2023-02-signal
Kai Moritz [Sun, 29 Jan 2023 16:05:22 +0000 (17:05 +0100)]
Tags für die Übung ergänzt

15 months agoREADME.sh & Setup für die Übung `rest-producer--partitioning` umgestellt
Kai Moritz [Sun, 29 Jan 2023 14:25:55 +0000 (15:25 +0100)]
README.sh & Setup für die Übung `rest-producer--partitioning` umgestellt

16 months agoSetup & Vorführskript verbessert und Tags für Übung ergänzt rest-producer rest-producer---lvm-2-tage--easy-path
Kai Moritz [Tue, 22 Nov 2022 20:48:57 +0000 (21:48 +0100)]
Setup & Vorführskript verbessert und Tags für Übung ergänzt

17 months agoVerbesserungen an Vorführskript aus producer/simple-producer übernommen
Kai Moritz [Tue, 22 Nov 2022 20:48:34 +0000 (21:48 +0100)]
Verbesserungen an Vorführskript aus producer/simple-producer übernommen

17 months ago.editorconfig hinezugefügt
Kai Moritz [Tue, 22 Nov 2022 20:47:13 +0000 (21:47 +0100)]
.editorconfig hinezugefügt

17 months agoCompose-Setup auf KRAFT mit bitnami-Images umgestellt
Kai Moritz [Fri, 4 Nov 2022 12:01:13 +0000 (13:01 +0100)]
Compose-Setup auf KRAFT mit bitnami-Images umgestellt

17 months agoAusführung von README.sh resilienter
Kai Moritz [Sat, 24 Sep 2022 13:04:56 +0000 (15:04 +0200)]
Ausführung von README.sh resilienter

17 months agoValidierung für ApplicationProperties aktiviert
Kai Moritz [Sat, 13 Aug 2022 17:08:49 +0000 (19:08 +0200)]
Validierung für ApplicationProperties aktiviert

17 months agorefactor: `RestProducer` wird explizit erzeugt
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.

20 months agoMerge der überarbeiteten Compose-Konfiguration (Branch 'customized') headers---lvm-2-tage
Kai Moritz [Sun, 7 Aug 2022 11:40:24 +0000 (13:40 +0200)]
Merge der überarbeiteten Compose-Konfiguration (Branch 'customized')

20 months agoÜberarbeitungen von Setup/Übung aus Branch 'rest-producer' gemerged customized---lvm-2-tage
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.

20 months agoDas Logging so überarbeitet/umkonfiguriert, dass man den Fehler sieht
Kai Moritz [Tue, 2 Aug 2022 19:39:39 +0000 (21:39 +0200)]
Das Logging so überarbeitet/umkonfiguriert, dass man den Fehler sieht

20 months agoSetup und README.sh für rest-producer überarbeitet
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.

21 months agoSpäter benötigten Konfiurations-Parameter `partition` hinzugefügt
Kai Moritz [Tue, 26 Jul 2022 19:15:35 +0000 (21:15 +0200)]
Später benötigten Konfiurations-Parameter `partition` hinzugefügt

21 months agoSpäter benötigten Header zum Postmapping hinzugefügt
Kai Moritz [Mon, 25 Jul 2022 15:58:28 +0000 (17:58 +0200)]
Später benötigten Header zum Postmapping hinzugefügt

21 months agoMerge der überarbeiteten Compose-Konfiguration ('customized')
Kai Moritz [Sat, 23 Jul 2022 10:34:57 +0000 (12:34 +0200)]
Merge der überarbeiteten Compose-Konfiguration ('customized')

21 months agoMerge der überarbeiteten Compose-Konfiguration ('rest-producer')
Kai Moritz [Sat, 23 Jul 2022 10:31:39 +0000 (12:31 +0200)]
Merge der überarbeiteten Compose-Konfiguration ('rest-producer')

21 months agoMerge der überarbeiteten Compose-Konfiguration ('endless-stream-producer')
Kai Moritz [Sat, 23 Jul 2022 09:27:34 +0000 (11:27 +0200)]
Merge der überarbeiteten Compose-Konfiguration ('endless-stream-producer')

21 months agoCompose-Konfiguration unabhängig von Default-Konfiguration gemacht 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.

21 months agoMerge der Upgrades für Confluent/Spring-Boot (Branch 'customized')
Kai Moritz [Fri, 22 Jul 2022 19:53:48 +0000 (21:53 +0200)]
Merge der Upgrades für Confluent/Spring-Boot (Branch 'customized')

21 months agoMerge der Upgrades für Confluent/Spring-Boot (Branch 'rest-producer')
Kai Moritz [Fri, 22 Jul 2022 19:48:24 +0000 (21:48 +0200)]
Merge der Upgrades für Confluent/Spring-Boot (Branch 'rest-producer')

21 months agoMerge der Upgrades für Confluent/Spring-Boot ('endless-stream-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')

21 months agoMerge der Upgrades für Confluent/Spring-Boot (Branch 'first-contact')
Kai Moritz [Fri, 22 Jul 2022 18:19:56 +0000 (20:19 +0200)]
Merge der Upgrades für Confluent/Spring-Boot (Branch 'first-contact')

21 months agoUpgrade von Spring Boot und den Confluent-Kafka-Images
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

22 months agoName und Beschreibung in POM getrennt
Kai Moritz [Sun, 12 Jun 2022 13:14:12 +0000 (15:14 +0200)]
Name und Beschreibung in POM getrennt

22 months agoTestfall, der die API aufruft und prüft, ob Nachrichten versendet werden
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.

22 months agoInfo-Endpoint des Actuator korrigiert
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.

23 months agoMerge branch 'endless-stream-producer' into rest-producer
Kai Moritz [Tue, 31 May 2022 03:39:30 +0000 (05:39 +0200)]
Merge branch 'endless-stream-producer' into rest-producer

2 years agoshutdown-Endpoint aktiviert
Kai Moritz [Sun, 10 Apr 2022 18:55:56 +0000 (20:55 +0200)]
shutdown-Endpoint aktiviert

2 years agoInformationen zur Kafka-Konfiguration im info-Endpoint sichtbar gemacht
Kai Moritz [Sun, 10 Apr 2022 18:55:42 +0000 (20:55 +0200)]
Informationen zur Kafka-Konfiguration im info-Endpoint sichtbar gemacht

2 years agoInformationen zur Java-Umgebung im info-Endpoint aktiviert
Kai Moritz [Sun, 10 Apr 2022 18:55:13 +0000 (20:55 +0200)]
Informationen zur Java-Umgebung im info-Endpoint aktiviert

2 years agoDas Git-Commit-Id-Plugin generiert eine git.properties
Kai Moritz [Sun, 10 Apr 2022 18:27:49 +0000 (20:27 +0200)]
Das Git-Commit-Id-Plugin generiert eine git.properties

2 years agoDas Spring-Boot-Maven-Plugin generiert Build-Info
Kai Moritz [Sun, 10 Apr 2022 18:25:28 +0000 (20:25 +0200)]
Das Spring-Boot-Maven-Plugin generiert Build-Info

2 years agoDefault-Konfiguration überarbeitet
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.

2 years agoFalschen Status-Code bei start/stop-Fehler korrigiert
Kai Moritz [Sun, 10 Apr 2022 17:49:44 +0000 (19:49 +0200)]
Falschen Status-Code bei start/stop-Fehler korrigiert

2 years agoMerge branch 'rest-producer' into customized
Kai Moritz [Fri, 8 Apr 2022 11:09:54 +0000 (13:09 +0200)]
Merge branch 'rest-producer' into customized

2 years agoSetup von counting-consumer auf endless-consumer umgestellt
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!

2 years agoTags für die Übung ergänzt
Kai Moritz [Sun, 3 Apr 2022 18:33:42 +0000 (20:33 +0200)]
Tags für die Übung ergänzt

2 years agoDer REST-Producer ergänzt Header (Header `X-id` und seine `client.id`)
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`)

2 years agoDer Rest-Producer schreibt in eine fixe Partition, wenn so konfiguriert
Kai Moritz [Sun, 3 Apr 2022 15:15:21 +0000 (17:15 +0200)]
Der Rest-Producer schreibt in eine fixe Partition, wenn so konfiguriert

2 years agoHTTPie gibt nicht nur den Response, sondern auch den Request aus
Kai Moritz [Sun, 3 Apr 2022 10:18:34 +0000 (12:18 +0200)]
HTTPie gibt nicht nur den Response, sondern auch den Request aus

2 years agoMerge des Upgrades der Confluent-Images auf 7.0.2
Kai Moritz [Sun, 3 Apr 2022 06:26:19 +0000 (08:26 +0200)]
Merge des Upgrades der Confluent-Images auf 7.0.2

2 years agoMerge 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

2 years agoUpgrade der Images von Confluent 6.2.0 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

2 years agoDelivery-Timeout für den REST-Producer herabgesetzt
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...

2 years agoSetup für die Demonstration des Rest-Producers überarbeitet
Kai Moritz [Sat, 2 Apr 2022 21:08:11 +0000 (23:08 +0200)]
Setup für die Demonstration des Rest-Producers überarbeitet

2 years agoEndlessProducer in RestProducer umgearbeitet
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

2 years agoEndlessProducer in RestProducer umbenannt
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!

2 years agoKorrekturen des README-Skriptes auf first-contact übernommen
Kai Moritz [Fri, 1 Apr 2022 11:41:14 +0000 (13:41 +0200)]
Korrekturen des README-Skriptes auf first-contact übernommen

2 years agoREADME.sh verwendet den cli-Service für Kommandos
Kai Moritz [Fri, 1 Apr 2022 09:56:34 +0000 (11:56 +0200)]
README.sh verwendet den cli-Service für Kommandos

2 years agoFehlerkorrektur aus first-contact gemerged
Kai Moritz [Fri, 25 Mar 2022 14:28:21 +0000 (15:28 +0100)]
Fehlerkorrektur aus first-contact gemerged

2 years agoFälschlich hartkodiertes Topic gegen Variable getauscht
Kai Moritz [Fri, 25 Mar 2022 14:27:50 +0000 (15:27 +0100)]
Fälschlich hartkodiertes Topic gegen Variable getauscht

2 years agoVerständliche Fehlermeldungen für DriverController
Kai Moritz [Fri, 25 Mar 2022 14:20:00 +0000 (15:20 +0100)]
Verständliche Fehlermeldungen für DriverController

2 years agoSynchronisation bei Start/Stop repariert und Ausgabe für Fehler ergänzt
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

2 years agoReorganisierten Code aus first-contact gemerged
Kai Moritz [Fri, 25 Mar 2022 12:36:52 +0000 (13:36 +0100)]
Reorganisierten Code aus first-contact gemerged

2 years agoSimpleProducer in Endless Producer umbenannt
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.

2 years agoCode reorganisiert, um Änderungen vergleichbarer zu machen
Kai Moritz [Fri, 25 Mar 2022 10:19:03 +0000 (11:19 +0100)]
Code reorganisiert, um Änderungen vergleichbarer zu machen

2 years agoObsoletes Klassen-Attribut entfernt
Kai Moritz [Fri, 25 Mar 2022 09:11:07 +0000 (10:11 +0100)]
Obsoletes Klassen-Attribut entfernt

2 years agoMerge der Aktualisierungen aus first-contact
Kai Moritz [Fri, 25 Mar 2022 08:28:23 +0000 (09:28 +0100)]
Merge der Aktualisierungen aus first-contact

2 years agoUpgrade für Spring Boot 2.6.0 -> 2.6.5
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

2 years agoEndless Producer: a simple producer, implemented as Spring-Boot-App
Kai Moritz [Tue, 14 Dec 2021 18:09:57 +0000 (19:09 +0100)]
Endless Producer: a simple producer, implemented as Spring-Boot-App

2 years agoFirst Contact: Simple Producer & Consumer
Kai Moritz [Tue, 14 Dec 2021 17:55:02 +0000 (18:55 +0100)]
First Contact: Simple Producer & Consumer