Java Spring Boot找不到嵌入的Kafkabroker Bean

Java Spring Boot找不到嵌入的Kafkabroker Bean,java,spring,spring-boot,apache-kafka,Java,Spring,Spring Boot,Apache Kafka,我正在为卡夫卡写一篇集成测试。为此,我使用了Spring的EmbeddedKafka。这是我的班级: @Component @EmbeddedKafka( partitions = 1, topics = {"Topic}, brokerProperties = {"listeners=PLAINTEXT://localhost:9091", "port=9091"}) public class KafkaConsumerTestUtils { @Autowired

我正在为卡夫卡写一篇集成测试。为此,我使用了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
奇怪的是,当我在我的任何测试类中自动连线
嵌入kafkabroker
时,它被创建,测试运行正常


有人能帮我解决这个问题吗?

不太清楚为什么,但看起来你没有按照预期的方式使用它

@EmbeddedKafka是可以在运行基于Spring Kafka的测试的测试类上指定的注释

文件规定:

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

事实上,这就是问题所在。我通过将@SpringBootTest添加到我的utils类中修复了。谢谢