예제 #1
0
 public CassandraProjectionStoreSettings(ICassandraProvider cassandraProvider, ISerializer serializer, IProjectionsNamingStrategy projectionsNamingStrategy, ProjectionsProvider projectionsProvider)
 {
     CassandraProvider         = cassandraProvider;
     Serializer                = serializer;
     ProjectionsNamingStrategy = projectionsNamingStrategy;
     ProjectionsProvider       = projectionsProvider;
 }
예제 #2
0
 public CassandraSnapshotStoreSchema(ICassandraProvider cassandraProvider, ILogger <CassandraSnapshotStoreSchema> logger)
 {
     if (cassandraProvider is null)
     {
         throw new ArgumentNullException(nameof(cassandraProvider));
     }
     this.cassandraProvider = cassandraProvider;
     this.logger            = logger;
 }
예제 #3
0
 public RetainOldProjectionRevisions(ICassandraProvider cassandraProvider, VersionedProjectionsNaming projectionsNaming, CassandraProjectionStoreSchema projectionsSchema, CassandraSnapshotStoreSchema snapshotsSchema, IOptionsMonitor <TableRetentionOptions> optionsMonitor)
 {
     this.cassandraProvider = cassandraProvider;
     this.projectionsNaming = projectionsNaming;
     this.projectionsSchema = projectionsSchema;
     this.snapshotsSchema   = snapshotsSchema;
     options = optionsMonitor.CurrentValue;
     optionsMonitor.OnChange(newOptions => options = newOptions);
 }
        public IndexByEventTypeStore(ICassandraProvider cassandraProvider)
        {
            if (cassandraProvider is null)
            {
                throw new ArgumentNullException(nameof(cassandraProvider));
            }

            this.session = cassandraProvider.GetSession();
        }
예제 #5
0
        public CassandraIndexStatusStore(ICassandraProvider session)
        {
            if (session is null)
            {
                throw new ArgumentNullException(nameof(session));
            }

            this.session = session.GetSession();
        }
예제 #6
0
 /// <summary>
 /// Used for cassandra schema changes exclusively
 /// https://issues.apache.org/jira/browse/CASSANDRA-10699
 /// https://issues.apache.org/jira/browse/CASSANDRA-11429
 /// </summary>
 /// <param name="sessionForSchemaChanges"></param>
 public CassandraProjectionStoreSchema(ICassandraProvider cassandraProvider, ILogger <CassandraProjectionStoreSchema> logger)
 {
     if (ReferenceEquals(null, cassandraProvider))
     {
         throw new ArgumentNullException(nameof(cassandraProvider));
     }
     this.cassandraProvider = cassandraProvider;
     this.logger            = logger;
 }
예제 #7
0
        /// <summary>
        /// Used for cassandra schema changes exclusively
        /// https://issues.apache.org/jira/browse/CASSANDRA-10699
        /// https://issues.apache.org/jira/browse/CASSANDRA-11429
        /// </summary>
        /// <param name="sessionForSchemaChanges"></param>
        public CassandraProjectionStoreSchema(ICassandraProvider cassandraProvider, ILock @lock)
        {
            if (ReferenceEquals(null, cassandraProvider))
            {
                throw new ArgumentNullException(nameof(cassandraProvider));
            }
            if (ReferenceEquals(null, @lock))
            {
                throw new ArgumentNullException(nameof(@lock));
            }

            this.sessionForSchemaChanges = cassandraProvider.GetSession();
            this.@lock   = @lock;
            this.lockTtl = TimeSpan.FromSeconds(2);
            if (lockTtl == TimeSpan.Zero)
            {
                throw new ArgumentException("Lock ttl must be more than 0", nameof(lockTtl));
            }
            CreatePreparedStatements = new ConcurrentDictionary <string, PreparedStatement>();
            DropPreparedStatements   = new ConcurrentDictionary <string, PreparedStatement>();
        }
 public CassandraEventStoreSettings(ICassandraProvider cassandraProvider, ITableNamingStrategy tableNameStrategy, ISerializer serializer)
 {
     CassandraProvider = cassandraProvider;
     TableNameStrategy = tableNameStrategy;
     Serializer        = serializer;
 }