У меня есть приложение с весенней загрузкой, в котором у меня есть один Kafka Consumer.
Я использую DefaultKafkaConsumerFactory со стандартными конфигурациями потребителей. У меня есть ConcurrentListenerContainerFactory с параллелизмом, равным 1, и у меня есть метод, аннотированный @ KafkaListener.
Я слушаю тему с 3 разделами, и у меня есть 3 таких потребителя, каждый из которых развернут в разных приложениях. Следовательно, каждый потребитель слушает один раздел.
Допустим, опрос у потребителя вызван из-под колпака и получено 40 записей. Затем каждая запись предоставляется методу, аннотированному @KafkaListener последовательно, то есть предоставляется запись 1, дождитесь окончания обработки метода, предоставлена запись 2, дождитесь окончания обработки метода и так далее.
Происходит ли указанное выше или для каждой полученной записи создается отдельный поток, и вызов метода происходит в отдельном потоке, поэтому основной поток не блокируется и может опрашивать записи быстрее.
Мне также хотелось бы получить больше ясности о том, что такое контейнер прослушивателя сообщений и возможный прослушиватель сообщений.
Спасибо заранее.