One can use the @KafkaListener annotation in methods that throw checked exceptions.
However, when implementing the *MessageListener interfaces, none of the onMessage methods allow for (checked) Exceptions to be thrown.
Changing the signature to include throws Exception would prevent catching exceptions just to wrap them in RuntimeException.