1

我使用 Embedded Kafka 测试向 Kafka 发送消息,当发送失败时,我的代码会自动重新发送,所以我尝试停止 Embedded Kafka,然后在重新发送期间重新启动它。但我不知道如何停止和启动 Embedded Kafka。

4

1 回答 1

1

Kafka 客户端代码将在发生故障时管理重新发送消息。您不需要为该行为编写测试 - 通过扩展,您可以进入真正的兔子洞,测试核心 Java 类行为等。

但是,您可以使用以下命令关闭并重新启动代理

embeddedKafkaBroker.getKafkaServers().forEach(KafkaServer::shutdown);
embeddedKafkaBroker.getKafkaServers().forEach(KafkaServer::awaitShutdown);
// Send messages
embeddedKafkaBroker.getKafkaServers().forEach(KafkaServer::startup);
于 2020-04-12T09:55:45.510 回答