private IConnectionFactory CreateConnectionFactory(RabbitMQConnectionFactoryConfiguration connectionFactoryConfiguration)
        {
            var factory = new ConnectionFactory()
            {
                HostName = connectionFactoryConfiguration.EventBusConnection,
                DispatchConsumersAsync = true
            };

            if (!string.IsNullOrEmpty(connectionFactoryConfiguration.EventBusUserName))
            {
                factory.UserName = connectionFactoryConfiguration.EventBusUserName;
            }

            if (!string.IsNullOrEmpty(connectionFactoryConfiguration.EventBusPassword))
            {
                factory.Password = connectionFactoryConfiguration.EventBusPassword;
            }

            return(factory);
        }
 public RabbitMQPersistentConnection(RabbitMQConnectionFactoryConfiguration connectionFactoryConfiguration, ILogger <RabbitMQPersistentConnection> logger)
 {
     _connectionFactory = CreateConnectionFactory(connectionFactoryConfiguration);
     _logger            = logger;
     _retryCount        = connectionFactoryConfiguration.EventBusRetryCount;
 }