com.netflix.client
Class PrimeConnections

java.lang.Object
  extended by com.netflix.client.PrimeConnections

public class PrimeConnections
extends java.lang.Object

Prime the connections for a given Client (For those Client that have a LoadBalancer that knows the set of Servers it will connect to) This is mainly done to address those deployment environments (Read EC2) which benefit from a firewall connection/path warmup prior to actual use for live requests.

This class is not protocol specific. Actual priming operation is delegated to instance of IPrimeConnection, which is instantiated using reflection according to property CommonClientConfigKey.PrimeConnectionsClassName.


Nested Class Summary
static interface PrimeConnections.PrimeConnectionListener
           
 
Constructor Summary
PrimeConnections(java.lang.String name, IClientConfig niwsClientConfig)
           
PrimeConnections(java.lang.String name, int maxRetries, long maxTotalTimeToPrimeConnections, java.lang.String primeConnectionsURI)
           
PrimeConnections(java.lang.String name, int maxRetries, long maxTotalTimeToPrimeConnections, java.lang.String primeConnectionsURI, float primeRatio)
           
 
Method Summary
 void primeConnections(java.util.List<Server> servers)
          Prime connections, blocking until configured percentage (default is 100%) of target servers are primed or max time is reached.
 java.util.List<java.util.concurrent.Future<java.lang.Boolean>> primeConnectionsAsync(java.util.List<Server> servers, PrimeConnections.PrimeConnectionListener listener)
          Prime servers asynchronously.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrimeConnections

public PrimeConnections(java.lang.String name,
                        IClientConfig niwsClientConfig)

PrimeConnections

public PrimeConnections(java.lang.String name,
                        int maxRetries,
                        long maxTotalTimeToPrimeConnections,
                        java.lang.String primeConnectionsURI)

PrimeConnections

public PrimeConnections(java.lang.String name,
                        int maxRetries,
                        long maxTotalTimeToPrimeConnections,
                        java.lang.String primeConnectionsURI,
                        float primeRatio)
Method Detail

primeConnections

public void primeConnections(java.util.List<Server> servers)
Prime connections, blocking until configured percentage (default is 100%) of target servers are primed or max time is reached.

See Also:
CommonClientConfigKey.MinPrimeConnectionsRatio, CommonClientConfigKey.MaxTotalTimeToPrimeConnections

primeConnectionsAsync

public java.util.List<java.util.concurrent.Future<java.lang.Boolean>> primeConnectionsAsync(java.util.List<Server> servers,
                                                                                            PrimeConnections.PrimeConnectionListener listener)
Prime servers asynchronously.

Parameters:
servers -
listener -
Returns: