Exemple #1
0
 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;
 }
Exemple #2
0
 public DefaultRabbitMqConnection(string configName) : this(RabbitMqConfig.Config(configName))
 {
     Name = configName;
 }
Exemple #3
0
 /// <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);
 }