Springify: Testfall repariert - Seltsames Verhalten von `@KafkaHandler`!
authorKai Moritz <kai@juplo.de>
Sat, 4 Jun 2022 09:41:19 +0000 (11:41 +0200)
committerKai Moritz <kai@juplo.de>
Sun, 5 Jun 2022 12:14:46 +0000 (14:14 +0200)
commit295373025f1d167e31704d8474c332c9441c9b1b
treee3dfdad4af860d163048cab2b92a180cb2740e2e
parent9fe455e4ccd0afdad0a9f12c009aa42151c2d098
Springify: Testfall repariert - Seltsames Verhalten von `@KafkaHandler`!

* Um den Testfall zu reparieren, musste die Implementierung so angepasst
  werden, dass die Handler wie zuvor die `RecordMetadata` von Kafka
  erhalten.
* Dafür nehmen die `receive`-Methoden von `EndlessConsumer` und die
  Handler, die von diesen aufgerufen werden jetzt zwei Parameter entgegen:
  * Die deserialisierte Nachricht (`ClientMessage` oder `Greeting`)
  * Die `ConsumerRecordMetaData`
* Wenn die Methoden den zweiten Parameter annehmen, werden die Nachrichten
  von Spring Kafka den Handler-Methoden nicht mehr korrekt übergeben: Es
  kommt zu einem Fehler wegen einem angeblich fehlendem Resolver, der nur
  umschifft werden kann, indem eine weitere Default-Handler-Methode
  hinzugefügt wird.
  Da dies nicht nötig ist, wenn nur die Nachricht übergeben wird, richt
  das ganze sehr nach einem Bug...
src/main/java/de/juplo/kafka/ApplicationConfiguration.java
src/main/java/de/juplo/kafka/EndlessConsumer.java
src/test/java/de/juplo/kafka/ApplicationTests.java