public When_Using_Sharded_Servers() { server = "localhost"; port1 = 8080; port2 = 8081; path1 = GetPath("TestShardedDb1"); path2 = GetPath("TestShardedDb2"); RavenDbServer.EnsureCanListenToWhenInNonAdminContext(port1); RavenDbServer.EnsureCanListenToWhenInNonAdminContext(port2); company1 = new Company { Name = "Company1" }; company2 = new Company { Name = "Company2" }; server1 = GetNewServer(port1, path1); server2 = GetNewServer(port2, path2); shards = new Shards { new DocumentStore(server, port1) { Identifier="Shard1" }, new DocumentStore(server, port2) { Identifier="Shard2" } }; shardSelection = MockRepository.GenerateStub<IShardSelectionStrategy>(); shardSelection.Stub(x => x.SelectShardIdForNewObject(company1)).Return("Shard1"); shardSelection.Stub(x => x.SelectShardIdForNewObject(company2)).Return("Shard2"); shardResolution = MockRepository.GenerateStub<IShardResolutionStrategy>(); shardStrategy = MockRepository.GenerateStub<IShardStrategy>(); shardStrategy.Stub(x => x.ShardSelectionStrategy).Return(shardSelection); shardStrategy.Stub(x => x.ShardResolutionStrategy).Return(shardResolution); }
public ShardStrategyImpl(IShardSelectionStrategy shardSelectionStrategy, IShardResolutionStrategy shardResolutionStrategy, IShardAccessStrategy shardAccessStrategy) { Preconditions.CheckNotNull(shardSelectionStrategy); Preconditions.CheckNotNull(shardResolutionStrategy); Preconditions.CheckNotNull(shardAccessStrategy); this.shardSelectionStrategy = shardSelectionStrategy; this.shardResolutionStrategy = shardResolutionStrategy; this.shardAccessStrategy = shardAccessStrategy; }
public ShardStrategyImpl(IShardSelectionStrategy shardSelectionStrategy) { ShardSelectionStrategy = shardSelectionStrategy; }