我正在为一个简单的 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