Example #1
0
        public override void Open()
        {
            _connectionState = System.Data.ConnectionState.Connecting;

            lock (_clusters)
            {
                if (!_clusters.ContainsKey(_connectionStringBuilder.ClusterName))
                {
                    _managedCluster = _connectionStringBuilder.MakeClusterBuilder().Build();
                    _clusters.Add(_connectionStringBuilder.ClusterName, _managedCluster);
                }
                else
                {
                    _managedCluster = _clusters[_connectionStringBuilder.ClusterName];
                }
            }

            if (string.IsNullOrEmpty(_connectionStringBuilder.DefaultKeyspace))
            {
                ManagedConnection = _managedCluster.Connect("");
            }
            else
            {
                ManagedConnection = _managedCluster.Connect(_connectionStringBuilder.DefaultKeyspace);
            }

            _connectionState = System.Data.ConnectionState.Open;
        }
Example #2
0
        protected override Cluster CreateCluster(CassandraConnectionStringBuilder connectionStringBuilder)
        {
            if (!_clusters.TryGetValue(_connectionStringBuilder.ClusterName, out Cluster cluster))
            {
                var builder = _connectionStringBuilder.MakeClusterBuilder();
                OnBuildingCluster(builder);
                cluster = builder.Build();
                _clusters.TryAdd(_connectionStringBuilder.ClusterName, cluster);
            }

            return(cluster);
        }