在消费者端存储合同定义以进行消息传递

时间:2017-05-22 09:01:53

标签: spring-cloud-contract

是否可以在消费者方面存储合约定义?

在文档和示例存储库(spring-cloud-contract-samples)中,只有合同的示例和描述存储在公共存储库或生产者端。据我所知,这支持一个生产者发布消息并且一个或多个消费者正在消费它们的体系结构。在这种情况下,将合同存储在生产者方面实际上是有意义的。

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

1 个答案:

答案 0 :(得分:0)

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