Auf `@KafkaHandler` umgestellt
* Die Autoconfiguration über die Annotation `@EnableKafka` aktiviert
* Da die Autoconfiguration von Spring Kafka zieht, vereinfacht sich die
Konfiguration:
** Spring Kafka erzeugt den benötigten `MessageListenerContainer`, der
für die Anbindung der mit `@KafkaHandler` annotierten Methode
benötigt wird automatisch und versorgt ihn mit einem passenden
`KafkaConsumer`, so dass letzterer nicht mehr explizit erzeugt werden
muss.
** Der Scheduler wird von Spring Kafka erzeugt und verwaltet, so dass
nicht mehr explizit ein `ExecutorService` erzeugt und beendet werden
muss.
** Der Rebalance-Listener wird automatisch eingebunden, der
`ApplicationRebalanceListener` muss allerdings von der richtigen
Spring-Klasse ableiten, damit er von der Autoconfiguration gefunden
wird.
* Um das von dem Testfall erwartete Default-Verhalten des `KafkaConsumer`
mit dem `MessageListenerContainer` zu simulieren, musste ein
angepasster `ErrorHandler` implementiert werden.
* Der Code zum Exception-Handling und zum Schließen des `KafkaConsumer`
in `EndlessConsumer` entfällt.
* Der Code zum Starten/Stoppen in `EndlessConsumer` kann einfach die
entsprechende Methoden des `MessageListenerContainers aufrufen. Dafür
muss er allerdings erst die passende Instanz aus einer Registry über
die Client-ID erfragen.
* Der Testfall musste an die Autoconfiguration angepasst werden:
** Die `KafkaAutoConfiguration` muss hier explizit eingebunden werden.
** Da auch der Test einen `KafkaConsumer` benötigt, muss die in der
Anwendung nicht mehr benötigte Factory jetzt explizit für den Test
bereitgestellt werden.