Jagger
 All Classes Namespaces Files Functions Variables Enumerator Groups Pages
QueryPoolLoadBalancer com.griddynamics.jagger.user.test.configurations.loadbalancer.JLoadBalancer.Builder.build ( )
Returns
Load balancer (subtype of QueryPoolLoadBalancer)

Definition at line 108 of file JLoadBalancer.java.

Referenced by JLoadScenarioProvider.exampleJaggerLoadScenario().

108  {
109 
110  PairSupplierFactory pairSupplierFactory = null;
111  switch (loadBalancer) {
112  case ONE_BY_ONE:
113  pairSupplierFactory = new OneByOnePairSupplierFactory();
114  break;
115  case ROUND_ROBIN:
116  default:
117  pairSupplierFactory = new RoundRobinPairSupplierFactory();
118  break;
119  }
120 
121  PairSupplierFactoryLoadBalancer loadBalancer = null;
122  if (exclusiveAccess) {
123  if (oneIterationOnly) {
124  loadBalancer = new NonCircularExclusiveAccessLoadBalancer(pairSupplierFactory);
125  } else {
126  loadBalancer = new CircularExclusiveAccessLoadBalancer(pairSupplierFactory);
127  }
128  ((ExclusiveAccessLoadBalancer)loadBalancer).setRandomnessSeed(seed);
129  } else {
130  if (Objects.nonNull(seed)) {
131  loadBalancer = new RandomLoadBalancer(seed, pairSupplierFactory);
132  } else {
133  loadBalancer = new SimpleCircularLoadBalancer(pairSupplierFactory);
134  }
135  }
136 
137  log.info("Built a {} load balancer", loadBalancer);
138  return loadBalancer;
139  }

Here is the caller graph for this function: