Я хочу читать из нескольких тем, поэтому я объявил их в файле yaml с разделителями-запятыми, но получил следующую ошибку:
java.lang.IllegalStateException: Тема(ы) [ тема-1 , тема-2 , тема-3 , тема-4 , тема-5 , тема-6 , тема-7 ] отсутствует или отсутствует, а значение MissingTopicsFatal равно true
Spring:
kafka:
topics:
tp: topic-1 , topic-2, topic-3, topic-4, topic-5, topic-6, topic-7
@KafkaListener(topics = "#{'${spring.kafka.topics.tp}'.split(',')}",
concurrency = "190",
clientIdPrefix = "client1",
groupId = "group1")
public void listenData(final ConsumerRecord<Object, Object> inputEvent) throws Exception {
handleMessage(inputEvent);
}
if i declare all topics inside KafkaListener annotation its working fine.
Он возвращает массив, а не List<?>; проблема выглядит как начальные/конечные пробелы, особенно topic-1 ,.
Уберите пробелы или используйте .split(' *, *').




Удалите пробелы
tp: topic-1,topic-2,topic-3,topic-4,topic-5,topic-6,topic-7
Или используйте
.split(' *, *')
split(',')возвращает список, а не строку CSV