Had*_*bar 0 java spring-boot-actuator spring-kafka spring-boot-test
我对 Kafka 消费者的配置位于 application.yaml 文件中。我知道如果我只有 1 个消费者,我不需要创建 ConsumerFactory bean,它会默认由 spring 设置。我需要测试我的消费者,因此我需要访问测试文件中的消费者对象,并且我不想再次配置它(我想使用 application.yaml 中的默认配置)文件来创建消费者对象。这怎么可能?
Spring Boot为Spring Kafka提供了足够全面的自动配置:https://docs.spring.io/spring-boot/docs/2.4.3/reference/html/spring-boot-features.html#boot-features-kafka。
您可以将这组 bean 注入到测试类中:
KafkaTemplate<?, ?> kafkaTemplateProducerListener<Object, Object> kafkaProducerListenerConsumerFactory<?, ?> kafkaConsumerFactoryProducerFactory<?, ?> kafkaProducerFactoryKafkaTransactionManager<?, ?> kafkaTransactionManagerKafkaJaasLoginModuleInitializer kafkaJaasInitializerKafkaAdmin kafkaAdminConcurrentKafkaListenerContainerFactoryConfigurer kafkaListenerContainerFactoryConfigurerConcurrentKafkaListenerContainerFactory<?, ?> kafkaListenerContainerFactoryKafkaStreamsConfiguration defaultKafkaStreamsConfigKafkaStreamsFactoryBeanConfigurer kafkaStreamsFactoryBeanConfigurerKafkaConsumer因此,要在测试中获得 a ,您需要自动装配 aConsumerFactory并调用它createConsumer(),您将根据配置属性获得一个新的实例。
| 归档时间: |
|
| 查看次数: |
2854 次 |
| 最近记录: |