/// <summary> /// Configures the rabbit mq client connection for Sll properties. /// </summary> /// <param name="builder">Builder with appropriate properties set.</param> /// <returns>A connection factory builder</returns> /// <remarks> /// SSL configuration in Rabbit MQ is a complex topic. In order to ensure that rabbit can work without client presenting a client certificate /// and working just like an SSL enabled web-site which does not require certificate you need to have the following settings in your rabbitmq.config /// file. /// {ssl_options, [{cacertfile,"/path_to/cacert.pem"}, /// {certfile,"/path_to/server/cert.pem"}, /// {keyfile,"/path_to/server/key.pem"}, /// {verify,verify_none}, /// {fail_if_no_peer_cert,false}]} /// The last 2 lines are the important ones. /// </remarks> public ConnectionFactoryBuilder Configure(ConnectionFactoryBuilder builder) { builder.Add(connectionFactory => { connectionFactory.Ssl.Enabled = true; if (!_clientCertificateRequired) { // These properties need to be set as empty for the Rabbit MQ client. Null's cause an exception in the client library. connectionFactory.Ssl.CertPath = string.Empty; connectionFactory.Ssl.CertPassphrase = string.Empty; connectionFactory.Ssl.ServerName = string.Empty; // Because no client certificate is present we must allow the remote certificate name mismatch for the connection to succeed. _acceptablePolicyErrors = _acceptablePolicyErrors | SslPolicyErrors.RemoteCertificateNameMismatch; } else { connectionFactory.Ssl.CertPath = _certificatePath; connectionFactory.Ssl.CertPassphrase = _passphrase; connectionFactory.Ssl.ServerName = _serverName; } connectionFactory.Ssl.AcceptablePolicyErrors = _acceptablePolicyErrors; connectionFactory.Ssl.Version = SslProtocols.Tls; return(connectionFactory); }); return(builder); }
/// <summary> /// Configures the rabbit mq client connection for Sll properties. /// </summary> /// <param name="builder">Builder with appropriate properties set.</param> /// <returns>A connection factory builder</returns> /// <remarks> /// SSL configuration in Rabbit MQ is a complex topic. In order to ensure that rabbit can work without client presenting a client certificate /// and working just like an SSL enabled web-site which does not require certificate you need to have the following settings in your rabbitmq.config /// file. /// {ssl_options, [{cacertfile,"/path_to/cacert.pem"}, /// {certfile,"/path_to/server/cert.pem"}, /// {keyfile,"/path_to/server/key.pem"}, /// {verify,verify_none}, /// {fail_if_no_peer_cert,false}]} /// The last 2 lines are the important ones. /// </remarks> public ConnectionFactoryBuilder Configure(ConnectionFactoryBuilder builder) { builder.Add(connectionFactory => { connectionFactory.Ssl.Enabled = true; if (!_clientCertificateRequired) { // These properties need to be set as empty for the Rabbit MQ client. Null's cause an exception in the client library. connectionFactory.Ssl.CertPath = string.Empty; connectionFactory.Ssl.CertPassphrase = string.Empty; connectionFactory.Ssl.ServerName = string.Empty; // Because no client certificate is present we must allow the remote certificate name mismatch for the connection to succeed. _acceptablePolicyErrors = _acceptablePolicyErrors | SslPolicyErrors.RemoteCertificateNameMismatch; } else { connectionFactory.Ssl.CertPath = _certificatePath; connectionFactory.Ssl.CertPassphrase = _passphrase; connectionFactory.Ssl.ServerName = _serverName; } connectionFactory.Ssl.AcceptablePolicyErrors = _acceptablePolicyErrors; connectionFactory.Ssl.Version = SslProtocols.Tls; return connectionFactory; }); return builder; }
public RabbitMqTransportFactoryBuilder Configure(RabbitMqTransportFactoryBuilder builder) { ConnectionFactoryBuilder connectionFactoryBuilder = CreateBuilder(); builder.AddConnectionFactoryBuilder(_address.Uri, connectionFactoryBuilder); return(builder); }
public IConnectionFactoryBuilder CreateBuilder() { var connectionFactoryBuilder = new ConnectionFactoryBuilder(_address); _configurators.Aggregate((IConnectionFactoryBuilder)connectionFactoryBuilder, (seed, configurator) => configurator.Configure(seed)); return(connectionFactoryBuilder); }
public ConnectionFactoryBuilder Configure(ConnectionFactoryBuilder builder) { builder.Add(connectionFactory => { connectionFactory.Ssl.Enabled = true; connectionFactory.Ssl.ServerName = _serverName; connectionFactory.Ssl.AcceptablePolicyErrors = _acceptablePolicyErrors; return(connectionFactory); }); return(builder); }
public ConnectionFactoryBuilder Configure(ConnectionFactoryBuilder builder) { builder.Add(connectionFactory => { connectionFactory.Ssl.Enabled = true; connectionFactory.Ssl.CertPath = _certificatePath; connectionFactory.Ssl.CertPassphrase = _passphrase; connectionFactory.Ssl.ServerName = _serverName; connectionFactory.Ssl.AcceptablePolicyErrors = _acceptablePolicyErrors; connectionFactory.Ssl.Version = SslProtocols.Tls; return connectionFactory; }); return builder; }
public ConnectionFactoryBuilder Configure(ConnectionFactoryBuilder builder) { builder.Add(connectionFactory => { connectionFactory.Ssl.Enabled = true; connectionFactory.Ssl.CertPath = _certificatePath; connectionFactory.Ssl.CertPassphrase = _passphrase; connectionFactory.Ssl.ServerName = _serverName; connectionFactory.Ssl.AcceptablePolicyErrors = _acceptablePolicyErrors; connectionFactory.Ssl.Version = SslProtocols.Tls; return(connectionFactory); }); return(builder); }
public override bool Execute() { RabbitEndpointAddress address = RabbitEndpointAddress.Parse(_uri); var connectionFactory = new ConnectionFactoryBuilder(address).Build(); using (var connection = connectionFactory.CreateConnection()) { using (IModel model = connection.CreateModel()) { model.QueuePurge(address.Name); } } return(true); }
internal static List <OutputFile> ResolveSingleOutputFiles() { var outputFiles = new List <OutputFile>(); if (MainInfoManager.EntityInformation.ConnectionFactory != null) { outputFiles.AddRange(ConnectionFactoryBuilder.Build()); } if (MainInfoManager.EntityInformation.GenericRepository != null) { outputFiles.AddRange(GenericRepositoryBuilder.Build()); } if (MainInfoManager.EntityInformation.DependencyInjection?.Modules != null) { outputFiles.AddRange(MainInfoManager.EntityInformation.DependencyInjection.Modules.Select(x => DependencyInjectionBuilder.Build(x))); } return(outputFiles); }
ConnectionHandler <RabbitMqConnection> GetConnection(IRabbitMqEndpointAddress address) { return(_connectionCache.Retrieve(address.Uri, () => { ConnectionFactoryBuilder builder = _connectionFactoryBuilders.Retrieve(address.Uri, () => { var configurator = new ConnectionFactoryConfiguratorImpl(address); return configurator.CreateBuilder(); }); ConnectionFactory connectionFactory = builder.Build(); var connection = new RabbitMqConnection(connectionFactory); var connectionHandler = new ConnectionHandlerImpl <RabbitMqConnection>(connection); return connectionHandler; })); }
ConnectionHandler <RabbitMqConnection> GetConnection( Cache <ConnectionFactory, ConnectionHandler <RabbitMqConnection> > cache, IRabbitMqEndpointAddress address) { ConnectionFactory factory = SanitizeConnectionFactory(address); return(cache.Get(factory, _ => { if (_log.IsDebugEnabled) { _log.DebugFormat("Creating RabbitMQ connection: {0}", address.Uri); } ConnectionFactoryBuilder builder = _connectionFactoryBuilders.Get(factory, __ => { if (_log.IsDebugEnabled) { _log.DebugFormat("Using default configurator for connection: {0}", address.Uri); } var configurator = new ConnectionFactoryConfiguratorImpl(address); return configurator.CreateBuilder(); }); ConnectionFactory connectionFactory = builder.Build(); if (_log.IsDebugEnabled) { _log.DebugFormat("RabbitMQ connection created: {0}:{1}/{2}", connectionFactory.HostName, connectionFactory.Port, connectionFactory.VirtualHost); } var connection = new RabbitMqConnection(connectionFactory); var connectionHandler = new ConnectionHandlerImpl <RabbitMqConnection>(connection); return connectionHandler; })); }
public ConnectionFactoryBuilder Configure(ConnectionFactoryBuilder builder) { builder.Add(Configure); return(builder); }
public ConnectionFactoryBuilder Configure(ConnectionFactoryBuilder builder) { builder.Add(Configure); return builder; }
static Program() { factory = ConnectionFactoryBuilder.NewBuilder(MySql.Data.MySqlClient.MySqlClientFactory.Instance, "Server=127.0.0.1;Uid=root;Pwd=asdf;Database=sample;", null, new MySQLDialect()).Build(); }
public void AddConnectionFactoryBuilder(Uri uri, ConnectionFactoryBuilder connectionFactoryBuilder) { _connectionFactoryBuilders[uri] = connectionFactoryBuilder; }
public void AddConnectionFactoryBuilder(Uri uri, ConnectionFactoryBuilder connectionFactoryBuilder) { _connectionFactoryBuilders[uri] = connectionFactoryBuilder; }