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, setLoadBalancerStatspublic 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