public class DefaultConnectionFactory extends SpyObject implements ConnectionFactory
This implementation creates connections where the operation queue is an
ArrayBlockingQueue and the read and write queues are unbounded
LinkedBlockingQueues. The Redistribute FailureMode is always
used. If other FailureModes are needed, look at the ConnectionFactoryBuilder.
| Modifier and Type | Field and Description |
|---|---|
static FailureMode |
DEFAULT_FAILURE_MODE
Default failure mode.
|
static HashAlgorithm |
DEFAULT_HASH
Default hash algorithm.
|
static long |
DEFAULT_MAX_RECONNECT_DELAY
Maximum amount of time (in seconds) to wait between reconnect attempts.
|
static int |
DEFAULT_MAX_TIMEOUTEXCEPTION_THRESHOLD
Maximum number + 2 of timeout exception for shutdown connection.
|
static int |
DEFAULT_OP_QUEUE_LEN
Maximum length of the operation queue returned by this connection factory.
|
static long |
DEFAULT_OP_QUEUE_MAX_BLOCK_TIME
The maximum time to block waiting for op queue operations to complete, in
milliseconds.
|
static long |
DEFAULT_OPERATION_TIMEOUT
Default operation timeout in milliseconds.
|
static int |
DEFAULT_READ_BUFFER_SIZE
The read buffer size for each server connection from this factory.
|
protected int |
opQueueLen |
| Constructor and Description |
|---|
DefaultConnectionFactory()
Create a DefaultConnectionFactory with the default parameters.
|
DefaultConnectionFactory(int qLen,
int bufSize)
Create a DefaultConnectionFactory with the given maximum operation queue
length, and the given read buffer size.
|
DefaultConnectionFactory(int qLen,
int bufSize,
HashAlgorithm hash)
Construct a DefaultConnectionFactory with the given parameters.
|
| Modifier and Type | Method and Description |
|---|---|
MemcachedConnection |
createConnection(java.util.List<java.net.InetSocketAddress> addrs)
Create a MemcachedConnection for the given SocketAddresses.
|
NodeLocator |
createLocator(java.util.List<MemcachedNode> nodes)
Create a NodeLocator instance for the given list of nodes.
|
MemcachedNode |
createMemcachedNode(java.net.SocketAddress sa,
java.nio.channels.SocketChannel c,
int bufSize)
Create a new memcached node.
|
java.util.concurrent.BlockingQueue<Operation> |
createOperationQueue()
Create a BlockingQueue for operations for a connection.
|
java.util.concurrent.BlockingQueue<Operation> |
createReadOperationQueue()
Create a BlockingQueue for the operations currently expecting to read
responses from memcached.
|
java.util.concurrent.BlockingQueue<Operation> |
createWriteOperationQueue()
Create a BlockingQueue for the operations currently expecting to write
requests to memcached.
|
AuthDescriptor |
getAuthDescriptor()
Authenticate connections using the given auth descriptor.
|
Transcoder<java.lang.Object> |
getDefaultTranscoder()
Get the default transcoder to be used in connections created by this
factory.
|
FailureMode |
getFailureMode()
Get the default failure mode for the underlying connection.
|
HashAlgorithm |
getHashAlg()
Get the hash algorithm to be used.
|
java.util.Collection<ConnectionObserver> |
getInitialObservers()
Observers that should be established at the time of connection
instantiation.
|
long |
getMaxReconnectDelay()
Maximum number of milliseconds to wait between reconnect attempts.
|
protected java.lang.String |
getName() |
OperationFactory |
getOperationFactory()
Get the operation factory for connections built by this connection factory.
|
long |
getOperationTimeout()
Get the operation timeout used by this connection.
|
int |
getOpQueueLen()
Get the op queue length set at construct time.
|
long |
getOpQueueMaxBlockTime()
Get the maximum amount of time (in milliseconds) a client is willing to
wait to add a new item to a queue.
|
int |
getReadBufSize() |
int |
getTimeoutExceptionThreshold()
Maximum number of timeout exception for shutdown connection.
|
boolean |
isDaemon()
If true, the IO thread should be a daemon thread.
|
boolean |
shouldOptimize()
If true, low-level optimization is in effect.
|
java.lang.String |
toString() |
boolean |
useNagleAlgorithm()
If true, the nagle algorithm will be used on connected sockets.
|
public static final FailureMode DEFAULT_FAILURE_MODE
public static final HashAlgorithm DEFAULT_HASH
public static final int DEFAULT_OP_QUEUE_LEN
public static final long DEFAULT_OP_QUEUE_MAX_BLOCK_TIME
public static final int DEFAULT_READ_BUFFER_SIZE
public static final long DEFAULT_OPERATION_TIMEOUT
public static final long DEFAULT_MAX_RECONNECT_DELAY
public static final int DEFAULT_MAX_TIMEOUTEXCEPTION_THRESHOLD
protected final int opQueueLen
public DefaultConnectionFactory(int qLen,
int bufSize,
HashAlgorithm hash)
qLen - the queue length.bufSize - the buffer sizehash - the algorithm to use for hashingpublic DefaultConnectionFactory(int qLen,
int bufSize)
public DefaultConnectionFactory()
public MemcachedNode createMemcachedNode(java.net.SocketAddress sa, java.nio.channels.SocketChannel c, int bufSize)
ConnectionFactorycreateMemcachedNode in interface ConnectionFactorypublic MemcachedConnection createConnection(java.util.List<java.net.InetSocketAddress> addrs) throws java.io.IOException
ConnectionFactorycreateConnection in interface ConnectionFactoryaddrs - the addresses of the memcached serversjava.io.IOException - for problems initializing the memcached connectionspublic FailureMode getFailureMode()
ConnectionFactorygetFailureMode in interface ConnectionFactorypublic java.util.concurrent.BlockingQueue<Operation> createOperationQueue()
ConnectionFactorycreateOperationQueue in interface ConnectionFactorypublic java.util.concurrent.BlockingQueue<Operation> createReadOperationQueue()
ConnectionFactorycreateReadOperationQueue in interface ConnectionFactorypublic java.util.concurrent.BlockingQueue<Operation> createWriteOperationQueue()
ConnectionFactorycreateWriteOperationQueue in interface ConnectionFactorypublic NodeLocator createLocator(java.util.List<MemcachedNode> nodes)
ConnectionFactorycreateLocator in interface ConnectionFactorypublic int getOpQueueLen()
public long getOpQueueMaxBlockTime()
ConnectionFactorygetOpQueueMaxBlockTime in interface ConnectionFactorypublic int getReadBufSize()
getReadBufSize in interface ConnectionFactorypublic HashAlgorithm getHashAlg()
ConnectionFactorygetHashAlg in interface ConnectionFactorypublic OperationFactory getOperationFactory()
ConnectionFactorygetOperationFactory in interface ConnectionFactorypublic long getOperationTimeout()
ConnectionFactorygetOperationTimeout in interface ConnectionFactorypublic boolean isDaemon()
ConnectionFactoryisDaemon in interface ConnectionFactorypublic java.util.Collection<ConnectionObserver> getInitialObservers()
ConnectionFactorygetInitialObservers in interface ConnectionFactorypublic Transcoder<java.lang.Object> getDefaultTranscoder()
ConnectionFactorygetDefaultTranscoder in interface ConnectionFactorypublic boolean useNagleAlgorithm()
ConnectionFactory
See Socket.setTcpNoDelay(boolean) for more information.
useNagleAlgorithm in interface ConnectionFactorypublic boolean shouldOptimize()
ConnectionFactoryshouldOptimize in interface ConnectionFactorypublic long getMaxReconnectDelay()
ConnectionFactorygetMaxReconnectDelay in interface ConnectionFactorypublic AuthDescriptor getAuthDescriptor()
ConnectionFactorygetAuthDescriptor in interface ConnectionFactorypublic int getTimeoutExceptionThreshold()
ConnectionFactorygetTimeoutExceptionThreshold in interface ConnectionFactoryprotected java.lang.String getName()
public java.lang.String toString()
toString in class java.lang.ObjectCopyright © 2006-2009 Dustin Sallings, 2009-2013 Couchbase, Inc.