【问题标题】:How to specify queue name while posting message with RawRabbit使用 RawRabbit 发布消息时如何指定队列名称
【发布时间】:2018-08-28 06:58:19
【问题描述】:

到目前为止,我发现可以安装RawRabbit.Enrichers.Attributespackage 并使用属性配置消息类:

[Queue(Name = "my_queue"]
private class AttributedMessage
{       
}

设置

var client = RawRabbitFactory.CreateSingleton(new RawRabbitOptions
{
    Plugins = plugin => plugin.UseAttributeRouting()
});

但我宁愿指定队列名称以及发布命令以使其更灵活:

await _busClient.PublishAsync(message /*some_config_here???*/);

Rabbit 2.0.0-rc5 可以吗?

【问题讨论】:

    标签: asp.net-core rabbitmq rawrabbit


    【解决方案1】:

    我认为这可能会对您有所帮助:

        static async Task Publish()
        {
            var config = new RawRabbitConfiguration
            {
                Username = "YOUR_RMQ_USER",
                Password = "YOUR_RMQ_PWD",
                Port = 5672,
                VirtualHost = "/",
                Hostnames = { "YOUR_RMQ_HOST_OR_IP" }
            };
            var bus = BusClientFactory.CreateDefault(config);
    
    
            await bus.PublishAsync(
                message: yourAwesomeMessagePayload,
                configuration: ctx => ctx.WithExchange(BuildExchangeConfig)
                                         .WithRoutingKey("custom.message.routing.key")
                );
    
            Console.WriteLine("message published!");
        }
    
        static void BuildExchangeConfig(IExchangeConfigurationBuilder e)
        {
            e.WithName("YOUR_EXCHANGE_NAME")
                .WithAutoDelete(false)
                .WithDurability(true)
                .WithType(ExchangeType.Topic);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-17
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多