springboot 监听kafka消息多个topic 走配置文件

时间:2025-03-23 16:20:49
@KafkaListener(topics = "#{'${kafkaTopicName}'.split(',')}")
    public void listeninstances(ConsumerRecord<?, ?> record){
        logger.info("----------------- record =" + record);
        Optional<?> kafkaMessage = Optional.ofNullable(record.value());
        if (kafkaMessage.isPresent()) {
            Object message =kafkaMessage.get();
            String topic = record.topic();
            logger.info("====topic=="+topic+"========message =" + message);
            rmbKafkaClientService.loadData2Es(topic,message.toString());
            logger.info("----------send-to-es-success--------");
        }
    }

只需要添加这个注解就可以

@KafkaListener(topics = "#{'${kafkaTopicName}'.split(',')}")

yml中文件为

kafkaTopicName: instances,modelida

用逗号分割