Der Adder verarbeitet zwei Typen von JSON-Nachrichten anstatt String
authorKai Moritz <kai@juplo.de>
Sat, 3 Sep 2022 12:24:07 +0000 (14:24 +0200)
committerKai Moritz <kai@juplo.de>
Sat, 10 Sep 2022 16:08:42 +0000 (18:08 +0200)
commitcaed9441a9303af071a572405ae4a665d60faae7
tree0980afcdb2639d832637a8bea44b0cdab1ba9086
parent0c89ddec8156e2f44fe28c9d05fe06f548e9168e
Der Adder verarbeitet zwei Typen von JSON-Nachrichten anstatt String

* Bisher waren alle Nachrichten vom Typ `String`.
* Jetzt verarbeitet der Adder zwei unterschiedliche Typen von Nachrichten.
* Die Nachrichten werden als JSON übertragen und mit Hilfe des
  `JsonDeserializer` von Spring Kafka in zwei unterschiedliche
  Spezialisierungen einer Basis-Klasse deserialisiert.
* Die für die Deserialisierung benötigte Typen-Information wird von dem
  Spring-Kafka-Tooling über den die `__TypeId__` transportiert.
* D.h., damit die Nachrichten korrekt deserialisiert werden können, ist es
  _nicht_ nötig, dass der Typ der Nachricht von Jackson aus der Nachricht
  selbst abgeleitet werden kann, sondern dass sich Sender und Empfänger
  darüber verständigen, welchen Hinweis sie in dem `__TypeId__`-Header
  hinterlegen.
* Die Verarbeitung der zwei Nachrichten-Typen wurde in Unter-Methoden
  ausgelagert, da dies die Vergleichbarkeit des Codes zur der Variante
  mit `@KafkaHandler` erhöht.
pom.xml
src/main/java/de/juplo/kafka/ApplicationConfiguration.java
src/main/java/de/juplo/kafka/ApplicationHealthIndicator.java
src/main/java/de/juplo/kafka/ApplicationRecordHandler.java
src/main/java/de/juplo/kafka/Message.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/MessageAddNumber.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/MessageCalculateSum.java [new file with mode: 0644]
src/test/java/de/juplo/kafka/ApplicationTests.java
src/test/java/de/juplo/kafka/MessageTest.java [new file with mode: 0644]