Bereits gesehene Nachrichten werden übersprungen
authorKai Moritz <kai@juplo.de>
Fri, 26 Aug 2022 08:25:55 +0000 (10:25 +0200)
committerKai Moritz <kai@juplo.de>
Fri, 16 Sep 2022 08:40:47 +0000 (10:40 +0200)
commit9ac94aed684ce23a186792a3275a574d5adfa836
tree11fc477efee9b2bebf5161bd36d6140c21bc418b
parent0c89ddec8156e2f44fe28c9d05fe06f548e9168e
Bereits gesehene Nachrichten werden übersprungen

* Der `ApplicationRecordHandler` merkt sich für jede Partition den Offset
  der zuletzt erfolgreich verarbeiteten Nachrichten.
* Diese Offsets werden in der Mongo-DB mitgespeichert und daraus wieder
  hergestellt.
* Wenn der Handler eine Nachricht erhält, deren Offset nicht größer als
  der gemerkte Offset ist, wird diese mit einer Warnung verworfen.
* Vorführ-Skript so verschärft, dass deutlich wird, dass der Zustand durch
  die Verbesserung auch bei außerordentlichen Fehlern korrekt erhalten
  bleibt.
README.sh
src/main/java/de/juplo/kafka/ApplicationRebalanceListener.java
src/main/java/de/juplo/kafka/ApplicationRecordHandler.java
src/main/java/de/juplo/kafka/ApplicationState.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/StateDocument.java