public class CompositePredicate extends AbstractServerPredicate
getEligibleServers(List, Object)
API, it will try the fallback predicates one by one, until the number of filtered servers
exceeds certain number threshold or percentage threshold.Modifier and Type | Class and Description |
---|---|
static class |
CompositePredicate.Builder |
rule
Constructor and Description |
---|
CompositePredicate() |
Modifier and Type | Method and Description |
---|---|
boolean |
apply(PredicateKey input) |
java.util.List<Server> |
getEligibleServers(java.util.List<Server> servers,
java.lang.Object loadBalancerKey)
Get the filtered servers from primary predicate, and if the number of the filtered servers
are not enough, trying the fallback predicates
|
static CompositePredicate.Builder |
withPredicate(AbstractServerPredicate primaryPredicate) |
static CompositePredicate.Builder |
withPredicates(AbstractServerPredicate... primaryPredicates) |
alwaysTrue, chooseRandomlyAfterFiltering, chooseRandomlyAfterFiltering, chooseRoundRobinAfterFiltering, chooseRoundRobinAfterFiltering, getEligibleServers, getLBStats, getServerOnlyPredicate, ofKeyPredicate, ofServerPredicate, setLoadBalancerStats
public boolean apply(@Nullable PredicateKey input)
public static CompositePredicate.Builder withPredicates(AbstractServerPredicate... primaryPredicates)
public static CompositePredicate.Builder withPredicate(AbstractServerPredicate primaryPredicate)
public java.util.List<Server> getEligibleServers(java.util.List<Server> servers, java.lang.Object loadBalancerKey)
getEligibleServers
in class AbstractServerPredicate