README.sh führt das Verhalten bei einem Deserialierungs-Fehler vor sumup-adder--springified--default-error-handling--poison-pill
authorKai Moritz <kai@juplo.de>
Fri, 23 Sep 2022 08:06:34 +0000 (10:06 +0200)
committerKai Moritz <kai@juplo.de>
Fri, 23 Sep 2022 13:51:28 +0000 (15:51 +0200)
commit156da1c288c3683e7bf55900f51873fe3a4e169f
tree2110ab7dbcc41d733b38d46e0e69a70588f6338c
parent341383683129f3a0d7e41f2ffa21e3761e2e14df
README.sh führt das Verhalten bei einem Deserialierungs-Fehler vor

* Weil der Fehler vom `DefaultErrorHandler` als fatal klassifiziert wird,
  kommpt die von der Auto-Konfiguration erzeugte `+FixedBackOffStrategy+`
  nicht zum Zuge und es wird auch kein Seek über den Fehler durchgeführt.
* D.h., es werden hier _keine_ Retries und _kein_ Seek_ durchgeführt.
* Stattdessen wird direkt der konfigurierte `Recoverer` aufgerufen.
* Da der per Default konfigurierte `Recoverer` aber lediglich eine
  Log-Meldung mit dem Log-Level ERROR für die Nachricht erzeugt,
  landet die Anwendung dann in einer Endlos-Schleife, da die Offset-Position
  nicht "korrigiert" (will sagen: über den Fehler hinwegbewegt) wird.
* Hier kann dann der `+DeadLetterPublishingRecoverer+` konfiguriert werden,
  damit diese Fehler nicht nur gelogged, sondern als neue Nachrichten in
  das Dead-Letter-Topic geschrieben werden.
README.sh
docker-compose.yml