Spring Boot 3 迁移 spring-cloud-starter-contract-verifier 和 MessageVerifierReceiver

问题描述 投票:0回答:1

我有一个问题,我不确定原因是什么。升级到 Spring Boot 3.2 后,我的应用程序未能通过 kafka 测试。 我正在使用:

  • 问题与:
    spring-cloud-starter-contract-verifier
    有关。
  • 云的 Bom 是
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:2023.0.0
  • Spring Boot 版本:
    id "org.springframework.boot" version "3.2.0"
  • 依赖管理:
    id "io.spring.dependency-management" version "1.1.4"

似乎不再有

MessageVerifierReceiver
实现之前处理那些合同测试的
org.springframework.cloud.contract.verifier.messaging.kafka.KafkaStubMessages
。现在它解析并使用 bean:
org.springframework.cloud.contract.verifier.messaging.integration.SpringIntegrationStubMessages
,因此它尝试解析具有主题名称的 bean,当然失败了。你们知道要检查什么吗?我应该去哪里看看可能出了什么问题?也许缺少一些依赖项,以前不需要,但他们现在删除了该实现,需要添加它?有人知道这件事吗? @MarcinGrzejszczak

已在提交中删除:fa51d6a076be8c5dc620ea6e226ad6c87dc2c0ac 也许是误会?

spring spring-boot apache-kafka spring-cloud spring-cloud-contract
1个回答
0
投票

答案就在迁移指南中,但我错过了。这里是: https://github.com/spring-cloud/spring-cloud-contract/wiki/Spring-Cloud-Contract-4.0-Migration-Guide#removing-support-for-mocked-amqp-oob-amqp-and-oob -卡夫卡

迁移路径 之前:

您正在使用存根 AMQP 或 Kafka Stub Runner 功能。

之后:

您需要为测试设置代理(例如通过 Testcontainers) 您需要设置 MesssageVerifierSender(消费者)或 > MessageVerifierReceiver(生产者)bean,您将在其中定义您如何 > 实际发送和接收消息

© www.soinside.com 2019 - 2024. All rights reserved.