如何在SpringBoot应用程序中添加嵌入式kafka

时间:2019-01-17 17:00:11

标签: spring-boot apache-kafka embedded-kafka

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

使用yml文件,我成功创建了Kafka Producer和Consumer,然后应用程序和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

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

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

预先感谢

1 个答案:

答案 0 :(得分: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");

您已经准备好使用它-功能测试还是单元测试都无关紧要。

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

您可以使用其他方式配置生产者和使用者。