public static ConnectionFactory CreateConnectionFactory(RabbitMQConnectionSettings settings)
        {
            var connectionFactory = new ConnectionFactory
            {
                AutomaticRecoveryEnabled = true,
                HostName    = settings.HostName,
                UserName    = settings.UserName,
                Password    = settings.Password,
                VirtualHost = settings.VirtualHost
            };

            if (settings.UseSsl)
            {
                connectionFactory.Ssl.Enabled                = true;
                connectionFactory.Ssl.ServerName             = string.Empty;
                connectionFactory.Ssl.CertPath               = string.Empty;
                connectionFactory.Ssl.CertPassphrase         = string.Empty;
                connectionFactory.Ssl.AcceptablePolicyErrors = SslPolicyErrors.RemoteCertificateChainErrors | SslPolicyErrors.RemoteCertificateNameMismatch;
                connectionFactory.Ssl.Version                = SslProtocols.Tls12;
            }
            return(connectionFactory);
        }
 public RabbitMQPersistentConnection(IConnectionFactory connectionFactory, RabbitMQConnectionSettings settings)
 {
     _connectionFactory = connectionFactory;
     _settings          = settings;
 }