如何解决当多个消费者使用 InMemoryTestHarness 时,已经添加了具有相同键的端点
在我的一个服务测试中,我使用了一个 InMemoryTestHarness 和两个消费者和一个 saga 状态机实例:
harness = new InMemoryTestHarness();
harness.Consumer(() => new PrepareQueryFileConsumer(
loggerFactoryMock.Object,tdMatchingRepositoryMock.Object,sendEndpointProviderMock.Object),TDMatchingConfiguration.QueueName);
harness.Consumer(() => new RequestQueryFileConversionConsumer(
loggerFactoryMock.Object,tdMatchingQueryFileRepositoryMock.Object,fileConversionServiceMock.Object),TDMatchingConfiguration.QueueName);
var machine = new TDMatchingStateMachine();
var repository = new InMemorySagaRepository<TDMatchingState>();
harness.StateMachineSaga(machine,repository,TDMatchingConfiguration.QueueName);
await harness.Start();
当“harness.Start();”时,此配置导致以下错误被称为:
MassTransit.ConfigurationException: '在总线创建期间发生异常' 已添加具有相同密钥的接收端点:td-matching
如果我只有一个消费者/状态机,则一切正常。所以我知道端点会在每次添加时重新创建,但我该如何避免这种情况?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。