Search code examples
apache-kafkaspring-cloudspring-cloud-stream

Customize input kafka topic name for Spring Cloud Stream


Since @EnableBinding and @StreamListener(Sink.INPUT) were deprecated in favor to functions, I need to create a consumer that would read messages from Kafka topic. My consumer function:

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

, application.yml configs

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

Instead of connecting to topic messages, it keeps connecting to log-in-0 topic. How could I fix this ?


Solution

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