public RabbitConnection(IRabbitConfigurationProvider rabbitConfigurationProvider,  ConnectionFactory connectionFactory, Logger logger)
            : base(logger)
        {
            _rabbitConfigurationProvider = rabbitConfigurationProvider;
            _connectionFactory = connectionFactory;

            if(Log.IsDebugEnabled)
                Log.Debug("Getting RabbitConfiguration...");

            var configuration = _rabbitConfigurationProvider.Get();
            if(configuration != null)
            {
                if (Log.IsDebugEnabled)
                    Log.Debug("Using RabbitConfiguration from Application Configuration file.");

                _connectionFactory.HostName = configuration.Hostname;
                _connectionFactory.Port = configuration.Port;
                _connectionFactory.UserName = configuration.Username;
                _connectionFactory.Password = configuration.Password;
            }
            else
            {
                if (Log.IsWarnEnabled)
                    Log.Warn("Using DEFAULT connection configuration.");
            }
        }