/// <summary>
        /// CookedRabbit RabbitMaintenanceService constructor. Allows for the sharing of a channel pool. If channel pool is not initialized, it will automatically initialize in here.
        /// </summary>
        /// <param name="rabbitSeasoning"></param>
        /// <param name="rcp"></param>
        /// <param name="logger"></param>
        public RabbitMaintenanceService(RabbitSeasoning rabbitSeasoning, IRabbitChannelPool rcp, ILogger logger = null) : base(rabbitSeasoning, rcp, logger)
        {
            Guard.AgainstNull(rabbitSeasoning, nameof(rabbitSeasoning));
            Guard.AgainstNull(rcp, nameof(rcp));

            _logger    = logger;
            _seasoning = rabbitSeasoning;
            _rcp       = rcp;

            if (!_rcp.IsInitialized)
            {
                _rcp.Initialize(rabbitSeasoning).GetAwaiter().GetResult();
            }

            if (_seasoning.MaintenanceSettings.EnablePingPong)
            {
                _pingPong = PingPongAsync($"{_seasoning.MaintenanceSettings.PingPongQueueName}.{RandomString(5, 10)}", _cancellationTokenSource.Token);
            }

            if (_seasoning.MaintenanceSettings.ApiSettings.RabbitApiAccessEnabled)
            {
                var credentials = new NetworkCredential(
                    _seasoning.MaintenanceSettings.ApiSettings.RabbitApiUserName,
                    _seasoning.MaintenanceSettings.ApiSettings.RabbitApiUserPassword);

                _httpClient = CreateHttpClient(credentials, TimeSpan.FromSeconds(_seasoning.MaintenanceSettings.ApiSettings.RabbitApiTimeout));
            }
        }
Пример #2
0
        /// <summary>
        /// CookedRabbit RabbitTopologyService constructor.  Allows for the sharing of a channel pool. If channel is not initialized, it will automatically initialize in here.
        /// </summary>
        /// <param name="rabbitSeasoning"></param>
        /// <param name="rcp"></param>
        /// <param name="logger"></param>
        public RabbitTopologyService(RabbitSeasoning rabbitSeasoning, IRabbitChannelPool rcp, ILogger logger = null)
        {
            _logger    = logger;
            _seasoning = rabbitSeasoning;
            _rcp       = rcp;

            if (!_rcp.IsInitialized)
            {
                _rcp.Initialize(rabbitSeasoning).GetAwaiter().GetResult();
            }
        }
        /// <summary>
        /// CookedRabbit RabbitSerializeService constructor. Allows for the sharing of a channel pool. If channel pool is not initialized, it will automatically initialize in here.
        /// </summary>
        /// <param name="rabbitSeasoning"></param>
        /// <param name="rcp"></param>
        /// <param name="logger"></param>
        public RabbitSerializeService(RabbitSeasoning rabbitSeasoning, IRabbitChannelPool rcp, ILogger logger = null) : base(rabbitSeasoning, rcp, logger)
        {
            Guard.AgainstNull(rabbitSeasoning, nameof(rabbitSeasoning));
            Guard.AgainstNull(rcp, nameof(rcp));

            _logger    = logger;
            _seasoning = rabbitSeasoning;
            _rcp       = rcp;

            if (!_rcp.IsInitialized)
            {
                _rcp.Initialize(rabbitSeasoning).GetAwaiter().GetResult();
            }
        }
Пример #4
0
        /// <summary>
        /// CookedRabbit RabbitTopologyService constructor. Allows for the sharing of a channel pool. If channel pool is not initialized, it will automatically initialize in here.
        /// </summary>
        /// <param name="rabbitSeasoning"></param>
        /// <param name="rcp"></param>
        /// <param name="logger"></param>
        public RabbitTopologyService(RabbitSeasoning rabbitSeasoning, IRabbitChannelPool rcp, ILogger logger = null)
        {
            Guard.AgainstNull(rabbitSeasoning, nameof(rabbitSeasoning));
            Guard.AgainstNull(rcp, nameof(rcp));

            _logger           = logger;
            _seasoning        = rabbitSeasoning;
            RabbitChannelPool = rcp;

            if (!RabbitChannelPool.IsInitialized)
            {
                RabbitChannelPool.Initialize(rabbitSeasoning).GetAwaiter().GetResult();
            }
        }