]> juplo.de Git - demos/kafka/training/commit
Batching zeitnah versendeter Nachrichten ermöglicht
authorKai Moritz <kai@juplo.de>
Sun, 15 Mar 2026 14:47:41 +0000 (15:47 +0100)
committerKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 12 Jun 2026 17:17:32 +0000 (19:17 +0200)
commit681a88c48f66ed09dfb4e8f70012c6f823d6890f
tree2159ccd1db5bcef15baad5fae9239b1dfef0463c
parent4af059947d3a1ef6d57010f9fc1e66092f53b894
Batching zeitnah versendeter Nachrichten ermöglicht

* Durch den Aufruf der blockierenden Methode `get()` wurde erzwungen, das
  der Versand einer Nachricht von Kafka bestätigt wurde, bevor die
  nächste Nachricht an Kafka übergeben werden konnte.
* Der blockierende Aufruf wurde jetzt in eine getrennte asynchrone
  Verarbeitung (in dem Default-Thread-Pool) verschoben.
* Dadurch können jetzt mehrere für den Versand bereitgestellte Nachrichten
  hintereinander an Kafka übergeben werden.
* _Beachte:_ Der Effekt wird erst dann wirklich deutlich, wenn das
  Throttling über `Thread.sleep(500)` deaktiviert wird!
* _Beachte:_ Da die Verarbeitung der Rückmeldung von Kafka über den
  Default-Thread-Pool erfolgt, erfolgt die Erzeugung der Log-Ausgaben
  asynchron in verschiedenen Threads. D.h., die Log-Meldungen werden
  _nicht_ in der Reihenfolge ausgegeben, in der die Nachrichten versendet
  wurden, was auf den ersten Blick sehr verwirrend ist!
src/main/java/de/juplo/kafka/ExampleProducer.java