Answer a question

I see some people adding @EnableKafka to their spring boot application and I was wondering why. I have a working spring boot kafka producer and consumer and I didn't use @EnableKafka. So, why do people need to add it explicitly?

Thank you.

Answers

That is because Spring boot provides an auto configuration for Kafka via KafkaAutoConfiguration class (javadoc). When you use @EnableAutoConfiguration or @SpringBootApplication, Spring boot automatically configures Kafka for you.

You can test that by excluding the auto configuration by providing @SpringBootApplication(exclude={KafkaAutoConfiguration.class}), and Spring boot would not automatically configure Kafka for you.

If you don't use Spring boot, then you would have to use @EnableKafka to configure Kafka for your Spring app.

Logo

华为、百度、京东云现已入驻,来创建你的专属开发者社区吧!

更多推荐