Я использую аннотацию spring-kafka @KafkaListener для обозначения моего метода слушателя.
Я использую одну тему с одним разделом. Сообщения никогда не превышают одного или двух в секунду, поэтому допустима одна цепочка. В документах spring-kafka говорится, что @KafkaListener по умолчанию используется ConcurrentMessageListenerContainer. Правильный ли способ управления параллелизмом с помощью setConcurrency?
Или мне нужно как-то создать KafkaMessageListenerContainer, который является однопоточным?
В настоящее время я использую это:
@Bean("appContainerFactory")
KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<Integer, String>>
kafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<Integer, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
factory.setConcurrency(1);
...
}