示例#1
0
 /**
  * Construct a ShardedCriteriaImpl
  *
  * @param criteriaId unique id for this ShardedCriteria
  * @param shards the shards that this ShardedCriteria is aware of
  * @param criteriaFactory factory that knows how to create concrete {@link Criteria} objects
  * @param shardAccessStrategy the access strategy we use when we execute this
  * ShardedCriteria across multiple shards.
  */
 public ShardedCriteriaImpl(CriteriaId criteriaId, IList <IShard> shards, ICriteriaFactory criteriaFactory, IShardAccessStrategy shardAccessStrategy)
 {
     this.criteriaId          = criteriaId;
     this.shards              = shards;
     this.criteriaFactory     = criteriaFactory;
     this.shardAccessStrategy = shardAccessStrategy;
     this.criteriaCollector   = new ExitOperationsCriteriaCollector();
     criteriaCollector.SetSessionFactory(shards[0].SessionFactoryImplementor);
 }
        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;
        }
示例#4
0
        ///**
        // * Constructor for ShardedQueryImpl
        // *
        // * @param queryId the id of the query
        // * @param shards list of shards on which this query will be executed
        // * @param queryFactory factory that knows how to create the actual query we'll execute
        // * @param shardAccessStrategy the shard strategy for this query
        // */
        public ShardedQueryImpl(QueryId queryId,
                                List <IShard> shards,
                                IQueryFactory queryFactory,
                                IShardAccessStrategy shardAccessStrategy)
        {
            this.queryId             = queryId;
            this.shards              = shards;
            this.queryFactory        = queryFactory;
            this.shardAccessStrategy = shardAccessStrategy;
            this.queryCollector      = new ExitOperationsQueryCollector();

            Preconditions.CheckState(!(shards.Count == 0));
            foreach (IShard shard in shards)
            {
                Preconditions.CheckNotNull(shard);
            }
        }
示例#5
0
 	public ShardStrategy()
 	{
 		ShardAccessStrategy = new ParallelShardAccessStrategy();
 		ShardSelectionStrategy = new ShardSelectionByRegion();
 		ShardResolutionStrategy = new AllShardsResolutionStrategy();
 	}
示例#6
0
 public ShardStrategy()
 {
     ShardAccessStrategy     = new ParallelShardAccessStrategy();
     ShardSelectionStrategy  = new ShardSelectionByRegion();
     ShardResolutionStrategy = new AllShardsResolutionStrategy();
 }