public ConnectionFactoryWrapper(IConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy<ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;
            if(connectionConfiguration == null)
            {
                throw new ArgumentNullException("connectionConfiguration");
            }
            if (!connectionConfiguration.Hosts.Any())
            {
                throw new EasyNetQException("At least one host must be defined in connectionConfiguration");
            }

            Configuration = connectionConfiguration;

            foreach (var hostConfiguration in Configuration.Hosts)
            {
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(new ConnectionFactory
                    {
                        HostName = hostConfiguration.Host,
                        Port = hostConfiguration.Port,
                        VirtualHost = Configuration.VirtualHost,
                        UserName = Configuration.UserName,
                        Password = Configuration.Password,
                        RequestedHeartbeat = Configuration.RequestedHeartbeat,
                        ClientProperties = ConvertToHashtable(Configuration.ClientProperties)
                    }, hostConfiguration));
            }
        }
Beispiel #2
0
        public ConnectionFactoryWrapper(IConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy <ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;
            if (connectionConfiguration == null)
            {
                throw new ArgumentNullException("connectionConfiguration");
            }
            if (!connectionConfiguration.Hosts.Any())
            {
                throw new EasyNetQException("At least one host must be defined in connectionConfiguration");
            }

            Configuration = connectionConfiguration;

            foreach (var hostConfiguration in Configuration.Hosts)
            {
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(new ConnectionFactory
                {
                    HostName    = hostConfiguration.Host,
                    Port        = hostConfiguration.Port,
                    VirtualHost = Configuration.VirtualHost,
                    UserName    = Configuration.UserName,
                    Password    = Configuration.Password
                }, hostConfiguration));
            }
        }
        public ConnectionFactoryWrapper(ConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy <ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;

            Preconditions.CheckNotNull(connectionConfiguration, "connectionConfiguration");
            Preconditions.CheckAny(connectionConfiguration.Hosts, "connectionConfiguration", "At least one host must be defined in connectionConfiguration");

            Configuration = connectionConfiguration;

            foreach (var hostConfiguration in Configuration.Hosts)
            {
                var connectionFactory = new ConnectionFactory
                {
                    UseBackgroundThreadsForIO = false,
                    AutomaticRecoveryEnabled  = false,
                    TopologyRecoveryEnabled   = false
                };

                if (connectionConfiguration.AMQPConnectionString != null)
                {
                    connectionFactory.uri = connectionConfiguration.AMQPConnectionString;
                }

                connectionFactory.HostName = hostConfiguration.Host;

                if (connectionFactory.VirtualHost == "/")
                {
                    connectionFactory.VirtualHost = Configuration.VirtualHost;
                }

                if (connectionFactory.UserName == "guest")
                {
                    connectionFactory.UserName = Configuration.UserName;
                }

                if (connectionFactory.Password == "guest")
                {
                    connectionFactory.Password = Configuration.Password;
                }

                if (connectionFactory.Port == -1)
                {
                    connectionFactory.Port = hostConfiguration.Port;
                }

                if (Configuration.Ssl.Enabled)
                {
                    connectionFactory.Ssl = Configuration.Ssl;
                }

                connectionFactory.RequestedHeartbeat = Configuration.RequestedHeartbeat;
                connectionFactory.ClientProperties   = Configuration.ClientProperties;
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(connectionFactory, hostConfiguration));
            }
        }
 public void SetUp()
 {
     clusterHostSelectionStrategy = new RandomClusterHostSelectionStrategy <string>
     {
         "0",
         "1",
         "2",
         "3",
     };
     hosts = new HashSet <string>();
 }
 public void SetUp()
 {
     clusterHostSelectionStrategy = new RandomClusterHostSelectionStrategy<string>
     {
         "0",
         "1",
         "2",
         "3",
     };
     hosts = new HashSet<string>();
 }
        public OrderedClusterHostSelectionStrategyTests()
        {
            defaultClusterHostSelectionStrategy = new OrderedClusterHostSelectionStrategy <string>
            {
                "0",
                "1",
                "2",
                "3",
            };

            writer = new StringWriter();
        }
Beispiel #7
0
        public void SetUp()
        {
            defaultClusterHostSelectionStrategy = new DefaultClusterHostSelectionStrategy <string>
            {
                "0",
                "1",
                "2",
                "3",
            };

            writer = new StringWriter();
        }
        public void SetUp()
        {
            defaultClusterHostSelectionStrategy = new DefaultClusterHostSelectionStrategy<int>
            {
                0,
                1,
                2,
                3,
            };

            writer = new StringWriter();
        }
        public void SetUp()
        {
            defaultClusterHostSelectionStrategy = new DefaultClusterHostSelectionStrategy<string>
            {
                "0",
                "1",
                "2",
                "3",
            };

            writer = new StringWriter();
        }
        public void SetUp()
        {
            defaultClusterHostSelectionStrategy = new DefaultClusterHostSelectionStrategy <int>
            {
                0,
                1,
                2,
                3,
            };

            writer = new StringWriter();
        }
Beispiel #11
0
        public ConnectionFactoryWrapper(ConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy<ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;

            Preconditions.CheckNotNull(connectionConfiguration, "connectionConfiguration");
            Preconditions.CheckAny(connectionConfiguration.Hosts, "connectionConfiguration", "At least one host must be defined in connectionConfiguration");

            Configuration = connectionConfiguration;

            foreach (var hostConfiguration in Configuration.Hosts)
            {
                var connectionFactory = new ConnectionFactory
                {
                    UseBackgroundThreadsForIO = connectionConfiguration.UseBackgroundThreads,
                    AutomaticRecoveryEnabled = false,
                    TopologyRecoveryEnabled = false
                };

                if (connectionConfiguration.AMQPConnectionString != null)
                {
                    connectionFactory.uri = connectionConfiguration.AMQPConnectionString;
                }

                connectionFactory.HostName = hostConfiguration.Host;

                if(connectionFactory.VirtualHost == "/")
                    connectionFactory.VirtualHost = Configuration.VirtualHost;

                if(connectionFactory.UserName == "guest")
                    connectionFactory.UserName = Configuration.UserName;

                if(connectionFactory.Password == "guest")
                    connectionFactory.Password = Configuration.Password;

                if (connectionFactory.Port == -1)
                    connectionFactory.Port = hostConfiguration.Port;

                if (hostConfiguration.Ssl.Enabled)
                    connectionFactory.Ssl = hostConfiguration.Ssl;

                //Prefer SSL configurations per each host but fall back to ConnectionConfiguration's SSL configuration for backwards compatibility
                else if (Configuration.Ssl.Enabled)
                    connectionFactory.Ssl = Configuration.Ssl;

                connectionFactory.RequestedHeartbeat = Configuration.RequestedHeartbeat;
                connectionFactory.ClientProperties = Configuration.ClientProperties;
                connectionFactory.AuthMechanisms = Configuration.AuthMechanisms;
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(connectionFactory, hostConfiguration));
            }
        }
Beispiel #12
0
        public ConnectionFactoryWrapper(IConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy <ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;

            Preconditions.CheckNotNull(connectionConfiguration, "connectionConfiguration");
            Preconditions.CheckAny(connectionConfiguration.Hosts, "connectionConfiguration", "At least one host must be defined in connectionConfiguration");

            Configuration = connectionConfiguration;

            foreach (var hostConfiguration in Configuration.Hosts)
            {
                var connectionFactory = new ConnectionFactory();
                if (connectionConfiguration.AMQPConnectionString != null)
                {
                    connectionFactory.uri = connectionConfiguration.AMQPConnectionString;
                }

                connectionFactory.HostName = hostConfiguration.Host;

                if (connectionFactory.VirtualHost == "/")
                {
                    connectionFactory.VirtualHost = Configuration.VirtualHost;
                }

                if (connectionFactory.UserName == "guest")
                {
                    connectionFactory.UserName = Configuration.UserName;
                }

                if (connectionFactory.Password == "guest")
                {
                    connectionFactory.Password = Configuration.Password;
                }

                if (connectionFactory.Port == -1)
                {
                    connectionFactory.Port = connectionFactory.Port;
                }

                connectionFactory.RequestedHeartbeat = Configuration.RequestedHeartbeat;
                connectionFactory.ClientProperties   = ConvertToHashtable(Configuration.ClientProperties);
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(connectionFactory, hostConfiguration));
            }
        }
Beispiel #13
0
        public ConnectionFactoryWrapper(
            IRabbitMqConfiguration connectionConfiguration,
            IClusterHostSelectionStrategy <ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;
            Configuration = connectionConfiguration;

            foreach (RabbitMqHost hostConfiguration in Configuration.RabbitMqHosts)
            {
                var connectionFactory = new ConnectionFactory
                {
                    UseBackgroundThreadsForIO = connectionConfiguration.UseBackgroundThreads,
                    AutomaticRecoveryEnabled  = false,
                    TopologyRecoveryEnabled   = false
                };

                connectionFactory.HostName = hostConfiguration.Ip;

                if (connectionFactory.VirtualHost == "/")
                {
                    connectionFactory.VirtualHost = Configuration.VirtualHost;
                }

                if (connectionFactory.UserName == "guest")
                {
                    connectionFactory.UserName = Configuration.UserName;
                }

                if (connectionFactory.Password == "guest")
                {
                    connectionFactory.Password = Configuration.Password;
                }

                if (connectionFactory.Port == -1)
                {
                    connectionFactory.Port = hostConfiguration.Port;
                }

                connectionFactory.RequestedHeartbeat = Configuration.RequestedHeartbeat;
                connectionFactory.ClientProperties   = Configuration.ClientProperties;
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(connectionFactory, hostConfiguration));
            }
        }
        public ConnectionFactoryWrapper(IConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy<ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;

            Preconditions.CheckNotNull(connectionConfiguration, "connectionConfiguration");
            Preconditions.CheckAny(connectionConfiguration.Hosts, "connectionConfiguration", "At least one host must be defined in connectionConfiguration");

            Configuration = connectionConfiguration;

            foreach (var hostConfiguration in Configuration.Hosts)
            {
                var connectionFactory = new ConnectionFactory();
                if (connectionConfiguration.AMQPConnectionString != null)
                {
                    connectionFactory.uri = connectionConfiguration.AMQPConnectionString;
                }

                connectionFactory.HostName = hostConfiguration.Host;

                if(connectionFactory.VirtualHost == "/")
                    connectionFactory.VirtualHost = Configuration.VirtualHost;

                if(connectionFactory.UserName == "guest")
                    connectionFactory.UserName = Configuration.UserName;

                if(connectionFactory.Password == "guest")
                    connectionFactory.Password = Configuration.Password;

                if (connectionFactory.Port == -1)
                    connectionFactory.Port = hostConfiguration.Port;

                if (Configuration.Ssl.Enabled)
                    connectionFactory.Ssl = Configuration.Ssl;

                connectionFactory.RequestedHeartbeat = Configuration.RequestedHeartbeat;
                connectionFactory.ClientProperties = ConvertToHashtable(Configuration.ClientProperties);
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(connectionFactory, hostConfiguration));
            }
        }
        public ConnectionFactoryWrapper(IConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy<ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;

            Preconditions.CheckNotNull(connectionConfiguration, "connectionConfiguration");
            Preconditions.CheckAny(connectionConfiguration.Hosts, "connectionConfiguration", "At least one host must be defined in connectionConfiguration");

            Configuration = connectionConfiguration;

            foreach (var hostConfiguration in Configuration.Hosts)
            {
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(new ConnectionFactory
                    {
                        HostName = hostConfiguration.Host,
                        Port = hostConfiguration.Port,
                        VirtualHost = Configuration.VirtualHost,
                        UserName = Configuration.UserName,
                        Password = Configuration.Password,
                        RequestedHeartbeat = Configuration.RequestedHeartbeat,
                        ClientProperties = ConvertToHashtable(Configuration.ClientProperties)
                    }, hostConfiguration));
            }
        }
Beispiel #16
0
        public ConnectionFactoryWrapper(ConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy <ConnectionFactoryInfo> clusterHostSelectionStrategy)
        {
            this.clusterHostSelectionStrategy = clusterHostSelectionStrategy;

            Preconditions.CheckNotNull(connectionConfiguration, "connectionConfiguration");
            Preconditions.CheckAny(connectionConfiguration.Hosts, "connectionConfiguration", "At least one host must be defined in connectionConfiguration");

            Configuration = connectionConfiguration;

            foreach (var hostConfiguration in Configuration.Hosts)
            {
                var connectionFactory = new ConnectionFactory
                {
                    UseBackgroundThreadsForIO = connectionConfiguration.UseBackgroundThreads,
                    AutomaticRecoveryEnabled  = false,
                    TopologyRecoveryEnabled   = false
                };

                if (connectionConfiguration.AMQPConnectionString != null)
                {
                    connectionFactory.Uri = connectionConfiguration.AMQPConnectionString;
                }

                connectionFactory.HostName = hostConfiguration.Host;

                if (connectionFactory.VirtualHost == "/")
                {
                    connectionFactory.VirtualHost = Configuration.VirtualHost;
                }

                if (connectionFactory.UserName == "guest")
                {
                    connectionFactory.UserName = Configuration.UserName;
                }

                if (connectionFactory.Password == "guest")
                {
                    connectionFactory.Password = Configuration.Password;
                }

                if (connectionFactory.Port == -1)
                {
                    connectionFactory.Port = hostConfiguration.Port;
                }

                if (hostConfiguration.Ssl.Enabled)
                {
                    connectionFactory.Ssl = hostConfiguration.Ssl;
                }

                //Prefer SSL configurations per each host but fall back to ConnectionConfiguration's SSL configuration for backwards compatibility
                else if (Configuration.Ssl.Enabled)
                {
                    connectionFactory.Ssl = Configuration.Ssl;
                }

                connectionFactory.RequestedHeartbeat = Configuration.RequestedHeartbeat;
                connectionFactory.ClientProperties   = Configuration.ClientProperties;
                connectionFactory.AuthMechanisms     = Configuration.AuthMechanisms;
                //connectionFactory.SocketWriteTimeout = 360000;
                //connectionFactory.SocketReadTimeout = 360000;
                //connectionFactory.ContinuationTimeout = TimeSpan.FromSeconds(360);
                //Console.WriteLine(connectionFactory.ContinuationTimeout.ToString());
                //connectionFactory.HandshakeContinuationTimeout = TimeSpan.FromSeconds(360);
                //connectionFactory.RequestedConnectionTimeout = 360;
                clusterHostSelectionStrategy.Add(new ConnectionFactoryInfo(connectionFactory, hostConfiguration));
            }
        }