1

我在我的项目中使用 Kafka 和 Springboot,现在我有外部 Kafka 集群和 SpringBoot 微服务项目。

使用 yml 文件,我成功创建了 Kafka 生产者和消费者,然后应用程序和 kafka 都可以正常通信。

现在我想在我的 sprintboot 项目中使用嵌入式 kafka。类似于在 Activemq 代码之后嵌入的东西。

spring:

  # Embedded ActiveMQ Configuration Example
  activemq:
      broker-url: vm://embedded?broker.persistent=false,useShutdownHook=false
      in-memory: true
      non-blocking-redelivery: true

我用谷歌搜索并阅读了很多相同的文章,但无法获得清晰的图片。在这里,我不希望这个嵌入式服务器仅用于 junit 测试,而是
希望在我的生态系统中不设置任何外部 Kafka 组件的情况下进行功能测试。

我真的不知道该怎么做,有人可以帮助我吗?

提前致谢

4

1 回答 1

1

添加依赖

    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka-test</artifactId>
        <scope>test</scope>
    </dependency>

在您的测试中创建类似的东西

    public static KafkaEmbedded embeddedKafka = new KafkaEmbedded(2, true, 2, "messages");

你已经准备好使用它了——无论是功能测试还是单元测试都无关紧要。

您可以指定代理、分区等的数量。

您可以按照与其他方式相同的方式配置生产者和消费者。

于 2019-01-17T17:06:20.387 回答