簡體   English   中英

Spring Boot找不到嵌入式KafkaBroker Bean

[英]Spring Boot Cannot Find EmbeddedKafkaBroker Bean

我正在為Kafka編寫集成測試。 為此,我正在使用Spring的EmbeddedKafka 這是我的課:

@Component
@EmbeddedKafka(
    partitions = 1,
    topics = {"Topic},
    brokerProperties = {"listeners=PLAINTEXT://localhost:9091", "port=9091"})
public class KafkaConsumerTestUtils {
  @Autowired private EmbeddedKafkaBroker embeddedKafka;
  ....
}

我正在用@SpringBootTest注釋的類中自動裝配此utils類。 這是我得到的錯誤:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.kafka.test.EmbeddedKafkaBroker' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1646)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1205)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1166)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 66 more

奇怪的是,當我在任何測試類中自動裝配EmbeddedKafkaBroker時,它都會被創建並且測試運行良好。

有人可以幫我弄這個嗎?

不確定原因,但您似乎沒有按預期使用它。

@EmbeddedKafka是可以在運行基於Spring Kafka的測試的測試類上指定的注釋。

文檔狀態:

The typical usage of this annotation is like:
 @RunWith(SpringRunner.class)
 @EmbeddedKafka
 public class MyKafkaTests {}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM