1

是否可以在消费者端存储合同定义?

在文档和示例存储库(spring-cloud-contract-samples)中,只有合约的示例和描述存储在公共仓库或生产者端。据我了解,这支持一个生产者发布消息而一个或多个消费者正在使用它们的架构。在这种情况下,将合约存储在生产者端实际上是有意义的。

但是我有一个系统,其中许多生产者将消息发布到单个队列,并且该队列只有一个消费者。我认为在这种情况下,最好将合同定义存储在消费者端。例如,当添加一个新的生产者时,它可以使用存储在消费者中的现有合约等。

4

1 回答 1

0

不,这是不可能的,这是有原因的……那是因为我们需要生成一个存根。该存根需要针对消息的生产者进行验证(通过自动生成的测试)。目前,我们无法知道对于给定的生产者,合约是由给定的消费者(例如 A、B 和 C)定义的。我们需要这些知识,因为我们需要从这些合约中生成测试。

于 2017-05-22T09:17:41.887 回答