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; }
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); }