В Spring Kafka нужно ли добавлять аннотацию @EnableKafka в мое приложение? - PullRequest
2 голосов
/ 16 апреля 2020

Я вижу некоторых людей, добавляющих @EnableKafka к своему весеннему загрузочному приложению, и мне было интересно, почему. У меня есть производитель и потребитель работающей весенней загрузочной кафки, и я не использовал @EnableKafka. Итак, почему люди должны добавить это явно?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 16 апреля 2020

Это связано с тем, что Spring boot обеспечивает автоматическую настройку для Kafka через класс KafkaAutoConfiguration ( javado c). Когда вы используете @EnableAutoConfiguration или @SpringBootApplication, Spring boot автоматически настраивает Kafka для вас.

Вы можете проверить это, исключив автоматическую настройку, указав @SpringBootApplication(exclude={KafkaAutoConfiguration.class}), и Spring boot не будет автоматически настраивать Kafka для вас .

Если вы не используете загрузку Spring, вам придется использовать @EnableKafka для настройки Kafka для вашего приложения.

3 голосов
/ 16 апреля 2020

Spring Boot автоматически конфигурирует @EnableKafka, если он обнаруживает spring-kafka в пути к классам.

Поэтому в загрузочном приложении он больше не нужен; оно требуется только в том случае, если приложение Spring не является загрузочным приложением.

...