public DefaultRabbitMqConnection(RabbitMqConfig config = null) { config = config ?? RabbitMqConfig.Config(); if (string.IsNullOrWhiteSpace(config?.Host)) { throw new ArgumentException(nameof(config)); } _connectionFactory = new ConnectionFactory { HostName = config.Host, Port = config.Port }; if (!string.IsNullOrWhiteSpace(config.VirtualHost)) { _connectionFactory.VirtualHost = config.VirtualHost; } if (!string.IsNullOrWhiteSpace(config.User)) { _connectionFactory.UserName = config.User; _connectionFactory.Password = config.Password; } _logger = CurrentIocManager.CreateLogger <DefaultRabbitMqConnection>(); Broker = config.Broker; }
public DefaultRabbitMqConnection(string configName) : this(RabbitMqConfig.Config(configName)) { Name = configName; }
/// <summary> 使用RabbitMQ事件总线 </summary> /// <param name="services"></param> /// <param name="config"></param> /// <returns></returns> public static IServiceCollection AddRabbitMqEventBus(this IServiceCollection services, RabbitMqConfig config) { services.TryAddSingleton <IMessageSerializer, JsonMessageSerializer>(); services.TryAddSingleton <IMessageCodec, JsonCodec>(); services.TryAddSingleton <IEventBus>(provider => { var manager = provider.GetService <ISubscribeManager>(); var codec = provider.GetService <IMessageCodec>(); var connection = new DefaultRabbitMqConnection(config); return(new EventBusRabbitMq(connection, manager, codec)); }); return(services); }