【问题标题】:Is it possible to connect to multiple masstransit queues directly from startup?是否可以直接从启动连接到多个公共交通队列?
【发布时间】:2020-12-21 15:52:26
【问题描述】:
services.AddMassTransit(config =>
        {
            config.AddConsumer<Consumer1>();
            config.UsingRabbitMq((ctx, cfg) => {
                cfg.Host("amqp://guest:guest@localhost:5672");

            
                cfg.ReceiveEndpoint("firstqueue", c => {
                    c.ConfigureConsumer<Consumer1>(ctx);
                });


            
            });

我需要从一个队列中获取一些请求,然后将它们发布到另一个队列。这就是我连接其中一个的方式,我尝试直接添加它,但我没有成功,因为我不能有 3 个参数

【问题讨论】:

  • 您可以通过多次调用 ReceiveEndpoint 来配置多个接收端点。

标签: asp.net-core rabbitmq masstransit


【解决方案1】:

发布消息时无需连接到任何队列。您只需使用IPublishEndpoint 发布到described in the docs 的地址。您不发布到队列,这就是它被称为发布的原因。如果您需要发送,请使用ISendEndpoint 实例。 Send 方法需要一个地址。

只有当您需要消费消息时,您才连接到队列(和交换)。

对于 MassTransit,如果您在消费者内部发送或发布,建议使用 ConsumeContext。您可以使用context.Publish 和context.GetSendEndpoint。

【讨论】:

    猜你喜欢
    • 2012-07-27
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 2018-12-04
    • 1970-01-01
    • 2011-06-16
    相关资源
    最近更新 更多