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,
                                 IShardResolutionStrategy shardResolutionStrategy,
                                 IShardAccessStrategy shardAccessStrategy)
        {
            Preconditions.CheckNotNull(shardSelectionStrategy);
            Preconditions.CheckNotNull(shardResolutionStrategy);
            Preconditions.CheckNotNull(shardAccessStrategy);

            this.shardSelectionStrategy  = shardSelectionStrategy;
            this.shardResolutionStrategy = shardResolutionStrategy;
            this.shardAccessStrategy     = shardAccessStrategy;
        }
Example #4
0
 public ShardStrategyImpl(IShardSelectionStrategy shardSelectionStrategy)
 {
     ShardSelectionStrategy = shardSelectionStrategy;
 }
Example #5
0
 public ShardStrategyImpl(IShardSelectionStrategy shardSelectionStrategy)
 {
     ShardSelectionStrategy = shardSelectionStrategy;
 }