为 Spring Cloud Stream 自定义输入 kafka 主题名称

Customize input kafka topic name for Spring Cloud Stream

由于不推荐使用@EnableBinding 和@StreamListener(Sink.INPUT) 以支持函数,因此我需要创建一个消费者来读取来自 Kafka 主题的消息。 我的消费者功能:

    @Bean
    public Consumer<Person> log() {
        return person -> {
            System.out.println("Received: " + person);
        };
    }

、application.yml 配置

spring:
  cloud:
    stream:
      kafka:
        binder:
          brokers: localhost:9092
      bindings:
        consumer:
          destination: messages
          contentType: application/json

它没有连接到主题 messages,而是一直连接到 log-in-0 主题。 我该如何解决这个问题?

spring.cloud.stream.bindings.log-in-0.destination=messages