如何在Masstransit/ActiveMq中的特定地址下创建消费者/订阅者

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

我在 .net core 7 项目中使用 Masstransit.ActiveMq nuget 包与 Masstransit 和 Artemis 进行斗争。

问题在于Artemis服务器的设置和限制使得我们的系统只能在特定地址下进行操作。在这个地址(rgs)下,我们拥有完全的访问权限。

但是使用 Masstransit/Artemis 拓扑,它会创建队列并处理 Virtual.SomeOrderReceived(下图)

我们如何配置才能将这些消费者队列配置在地址 rgs 下?

我很清楚发布订阅模式和打破拓扑约定可能会导致混乱的配置,从而可能导致使用过滤器等。但我在 Stackoverflow 的最后一个问题当我的 API 配置我的消费者时,为什么 MassTransit 创建两个地址和队列?是“宽”,我尝试将其缩小到这个特定问题。

非常感谢我们能得到的所有帮助。我们是一个大型团队,在一个项目中工作,我们主要使用 Azure 服务总线。使用 Masstransit 查找 Artemis 的文档或示例一直具有挑战性。

masstransit activemq-artemis
1个回答
0
投票

如果您想要一个队列,请配置一个接收端点并将所有消费者放入其中。

https://masstransit.io/documentation/configuration#receive-endpoints

services.AddMassTransit(x =>
{
    x.AddConsumer<SubmitOrderConsumer>();
    
    x.UsingActiveMq((context, cfg) =>
    {
        // ...

        cfg.ReceiveEndpoint("rgs", e =>
        {
            e.ConfigureConsumeTopology = false;

            e.ConfigureConsumer<ConsumerA>(context);
            e.ConfigureConsumer<ConsumerB>(context);
        });
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.