`ExampleProducer` in eine Spring-Boot App umgebaut (ohne Spring Kafka)
* Validierung der Properties aktiviert
* Steuerung und Abfrage über die Actuator-REST-API von ermöglicht
* Namespace für Konfig von `producer` in `juplo.producer` geändert
* In der Configuration wird das Interface des `KafkaProducer` übergeben
* Producerspezifische Properties werden in eigener nested Class verwaltet
** Dadurch wird der Code übersichtlicher, wenn spätere Implementierungen
_sowohl_ als Consumer, _als auch_ als Producer agieren!
* Das Throttling kann über `juplo.producer.throttle-ms` gesteuert werden
* `delivery.timeout.ms` und `request.timeout.ms` noch weiter gesenkt
* `max.block.ms` auf 5s gesetzt
** Sonst entsteht bei verschiedenen Fehlern schnell ein falscher Eindruck
** Man könnte sonst auf die Idee kommen, dass der Producer für diese
beliebig lange wartet!
* Eine Exception im Producer löst das Beenden der App aus
* Fix: `close()` muss noch vom `ExampleProducer` aufgerufen werden
** Der Aufruf von `close()` löst das Versenden wartender Nachrichten aus.
** Wenn die Methode erst von Spring aufgerufen wird, werden ggf. noch
Nachrichten konsumiert, nachdem der `ExampleProducer` bereits
ausgegeben hat, wieviele Nachrichten er insgesamt verarbeitet hat.
* `delivery.timeout.ms` konfigurierbar gemacht
* `max.block.ms` konfigurierbar gemacht
* `buffer.memory` konfigurierbar gemacht
15 files changed: