【发布时间】:2021-03-06 09:53:18
【问题描述】:
我有一个使用 Kafka 消费者和生产者的 Spring Boot 应用程序。 Kafka的所有配置都在application.yml上
spring:
kafka:
consumer:
enable-auto-commit: true
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
bootstrap-servers: kafka.dev-streams.svc.cluster.local:9092
group-id: dev.client
producer:
bootstrap-servers: kafka-0.kafka-headless.dev-streams.svc.cluster.local:9092,kafka-1.kafka-headless.dev-streams.svc.cluster.local:9092,kafka-2.kafka-headless.dev-streams.svc.cluster.local:9092
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
retries: 3
一位消费者的示例:
@KafkaListener(topics = { "${kafka.topic.internal.request}" })
@Override
public void processRequest(@Payload String message,
@Header(name = KafkaHeaders.RECEIVED_MESSAGE_KEY, required = false) String key) {
super.processRequest(message, key);
}
我如何模拟 kafka 以使用 Junit 测试而不使用引导服务器来获取有关消费者的一些消息?
【问题讨论】:
-
文档的testing section 有帮助吗?
-
不多。它仍然没有解决我的问题。
-
为什么不呢?它展示了如何测试消费者
标签: java spring-boot junit apache-kafka