小编Dom*_*ika的帖子

嵌入式 Kafka 集成测试 - 消费者永远无法完成

我正在为一个简单的 Spring Boot 应用程序编写 Kafka 集成测试。该应用程序简单地发布到 Kafka 主题。

我正在使用嵌入式 Kafka 实例进行测试。当通过 Intellij 运行时,测试工作得很好,但当我通过 gradle 运行时,测试失败了。看起来latch倒计时永远不会达到 0,测试最终会超时。

生产者配置:

public class KafkaProducerConfig {

    @Value(value = "${kafka.bootstrap-address}")
    private String bootstrapAddress;

    @Bean
    public ProducerFactory<String, String> articleProducerFactory() {
        Map<String, Object> configProps = new HashMap<>();
        configProps.put(
                ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
                bootstrapAddress);
        configProps.put(
                ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
                StringSerializer.class);
        configProps.put(
                ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
                StringSerializer.class);
        return new DefaultKafkaProducerFactory<>(configProps);
    }

    @Bean
    public KafkaTemplate<String, String> articleKafkaTemplate() {
        return new KafkaTemplate<>(articleProducerFactory());
    }
}
Run Code Online (Sandbox Code Playgroud)

制作人:

public class KafkaProducer {

    @Value(value = "kafka.topic-name")
    String topicName;

    @Autowired
    private KafkaTemplate<String, String> kafkaTemplate; …
Run Code Online (Sandbox Code Playgroud)

java apache-kafka spring-boot spring-kafka spring-kafka-test

5
推荐指数
1
解决办法
9815
查看次数