【问题标题】:How to stop and start the Embedded Kafka in unit test?如何在单元测试中停止和启动嵌入式 Kafka?
【发布时间】:2020-07-15 08:39:12
【问题描述】:

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

【问题讨论】:

    标签: spring-boot embedded-kafka


    【解决方案1】:

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

    但是您可以使用

    关闭并重新启动代理
    embeddedKafkaBroker.getKafkaServers().forEach(KafkaServer::shutdown);
    embeddedKafkaBroker.getKafkaServers().forEach(KafkaServer::awaitShutdown);
    // Send messages
    embeddedKafkaBroker.getKafkaServers().forEach(KafkaServer::startup);
    

    【讨论】:

      猜你喜欢
      • 2011-03-02
      • 2021-11-09
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 2019-02-11
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多