我在项目中使用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组件。
我真的不知道该怎么做,有人可以帮我吗。
预先感谢
答案 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");
您已经准备好使用它-功能测试还是单元测试都无关紧要。
您可以指定代理,分区等的数量。
您可以使用其他方式配置生产者和使用者。