public RabbitHandler(ILogger <RabbitHandler> logger, IOptions <RabitMqOption> rabbitMqOption, IConfiguration configuration) { _logger = logger; _configuration = configuration; _rabitMqOption = rabbitMqOption?.Value; if (_rabitMqOption == null) { _rabitMqOption = new RabitMqOption(); } UpdateFromEnv(_rabitMqOption); if (string.IsNullOrEmpty(_rabitMqOption.Host) || string.IsNullOrEmpty(_rabitMqOption.UserName) || string.IsNullOrEmpty(_rabitMqOption.Password) || _rabitMqOption.Port < 1) { throw new ArgumentNullException("Rabbit param in appsettings.json is not correct!"); } try { _produceRabbitMq = new RabitMqProduce(_rabitMqOption); _logger.LogInformation("rabbit produce client start success!"); } catch (Exception e) { logger.LogInformation(e, "rabbit produce client start err!"); throw; } }
public ConsumeService(RabitMqOption config, string dbtable, IDbTransfer dbTypeMapper) : base(config) { _dbTypeMapper = dbTypeMapper; var queueName = !string.IsNullOrEmpty(config.CanalDestinationName) ? $"{config.CanalDestinationName}." : ""; queueName += dbtable; base.Queues.Add(new QueueInfo() { ExchangeType = ExchangeType.Direct, Queue = queueName, RouterKey = queueName, OnReceived = this.OnReceived, }); }
private void UpdateFromEnv(RabitMqOption _rab) { var host = _configuration["rabbit.address"]; if (!string.IsNullOrEmpty(host)) { _rab.Host = host.Split(':')[0]; _rab.Port = int.Parse(host.Split(':')[1]); } var virtualHost = _configuration["rabbit.virtualHost"]; if (!string.IsNullOrEmpty(virtualHost)) { _rab.VirtualHost = virtualHost; } var userName = _configuration["rabbit.userName"]; if (!string.IsNullOrEmpty(userName)) { _rab.UserName = userName; } var password = _configuration["rabbit.password"]; if (!string.IsNullOrEmpty(password)) { _rab.Password = password; } var dbTables = _configuration["rabbit.dbTables"]; if (!string.IsNullOrEmpty(dbTables)) { _rab.DbTables = dbTables.Split(':').ToList(); } var confirmSelect = _configuration["canal.confirmSelect"]; if (!string.IsNullOrEmpty(confirmSelect)) { _rab.ConfirmSelect = confirmSelect.Equals("true") || confirmSelect.Equals("1"); } }
private void UpdateFromEnv(RabitMqOption _rab) { var host = _configuration["rabbit.address"]; if (!string.IsNullOrEmpty(host)) { _rab.Host = host.Split(':')[0]; _rab.Port = int.Parse(host.Split(':')[1]); } var virtualHost = _configuration["rabbit.virtualHost"]; if (!string.IsNullOrEmpty(virtualHost)) { _rab.VirtualHost = virtualHost; } var userName = _configuration["rabbit.userName"]; if (!string.IsNullOrEmpty(userName)) { _rab.UserName = userName; } var password = _configuration["rabbit.password"]; if (!string.IsNullOrEmpty(password)) { _rab.Password = password; } var destinations = _configuration["canal.destinations"]; if (!string.IsNullOrEmpty(destinations)) { _rab.CanalDestinationName = destinations; } var dbTables = _configuration["rabbit.dbTables"]; if (!string.IsNullOrEmpty(dbTables)) { _rab.DbTables = dbTables.Split(':').ToList(); } }
public ConsumerService(ILogger <ConsumerService> logger, IOptions <RabitMqOption> rabitMqOption, IConfiguration configuration, IDbTransfer dbTypeMapper) { _logger = logger; _configuration = configuration; _dbTypeMapper = dbTypeMapper; _rabitMqOption = rabitMqOption.Value; if (_rabitMqOption == null) { _rabitMqOption = new RabitMqOption(); } UpdateFromEnv(_rabitMqOption); if (string.IsNullOrEmpty(_rabitMqOption.Host) || string.IsNullOrEmpty(_rabitMqOption.UserName) || string.IsNullOrEmpty(_rabitMqOption.Password) || _rabitMqOption.Port < 1 || string.IsNullOrEmpty(_rabitMqOption.CanalDestinationName)) { throw new ArgumentNullException("Rabit param in appsettings.json is not correct!"); } if (!_rabitMqOption.DbTables.Any()) { throw new ArgumentNullException("no dbTables exist in appsettings.json !"); } }
public MQConnection(RabitMqOption config, string vhost) { this.config = config; this.vhost = vhost; }
internal MQServiceBase(RabitMqOption config) { this.Config = config; }