Я проходил через API Kafka Spring .
В разделе шаблон Кафки написано:
Вы можете настроитьKafkaTemplate
с ProducerListener
для получения асинхронного обратного вызова с результатами отправки (успех или сбой) вместо ожидания завершения Future.
Затем он говорит:
Обратите внимание, что методы KafkaTemplate.send
возвращают ListenableFuture<SendResult>
. Вы можете зарегистрировать обратный вызов в слушателе, чтобы получить результат отправки асинхронно.
Я догадывался, в чем разница между ними. Неужели мы устанавливаем ProducerListener
, если хотим указать методы, которые будут обрабатывать результат каждого отправленного сообщения, тогда как мы регистрируем обратный вызов с ListenableFuture
, если мы хотим обработать результат отправки только этого конкретного сообщения? И что, если мы укажем их обоих?