Rückbau der Deaktivierung der Commits, um den Code anzugleichen
authorKai Moritz <kai@juplo.de>
Sat, 3 Sep 2022 06:25:04 +0000 (08:25 +0200)
committerKai Moritz <kai@juplo.de>
Sun, 4 Sep 2022 14:11:05 +0000 (16:11 +0200)
commit907fdde716b24bc352f863c06337eda647bb1a59
treeed4bc5f702e9fe006ceea3ed03a4b52f35231170
parent8fc65e4582c3c0f6ed5e1bb3cf20cea1d39b6f59
Rückbau der Deaktivierung der Commits, um den Code anzugleichen

* Hier wurde die Deaktivierung der Commits im Falle eines Fachlogik-Fehlers
  zurückgebaut, um die einzelnen Schritte der Übung leichter
  nachvollziehbar zu machen.
* Die Deaktivierung der Commits im Falle eines Fachlogik-Fehlers (aka
  Exception in der Fachlogik) ist nötig, da ansonsten in dem Rebalance,
  das durch das `unsubscribe()` ausgelöst wird, die aktuelle
  Offset-Position aus sicht der Kafka-Client-Library commited wird.
* *Dies führt dazu, dass der zugehörige Testfall fehl schlägt*
* Dies würde dann zu einem Verlust von Nachrichten führen, da die
  Client-Bibliothek davon ausgeht, dass alle vom letzten `poll()`
  gelieferten Nachrichten erfolgreich verarbeitet wurden.
* D.h., nach einem Fachlogik-Fehler darf _kein_ Commit über die
  Convenient-Methode des `KafkaConsumer` durchgeführt werden, die
  automatisch die Offsets bestätigt, die die Bibliothek für aktuell
  hält.
README.sh
src/main/java/de/juplo/kafka/ApplicationConfiguration.java
src/main/java/de/juplo/kafka/ApplicationRebalanceListener.java
src/main/java/de/juplo/kafka/EndlessConsumer.java
src/main/java/de/juplo/kafka/RebalanceListener.java