public interface Pool
A single instance of this interface can be created using ClientCacheFactory.create()
.
Multiple instances may also be created using PoolFactory.create(java.lang.String)
. A PoolFactory
instance is created by calling PoolManager.createFactory()
. So to create a default
Pool
do this:
new ClientCacheFactory().create();or this:
PoolManager.createFactory().create("myPool");Instances may also be created by declaring them in cache.xml with a
pool
element.
Existing Pool instances can be found using PoolManager.find(String)
and
PoolManager.getAll()
.
The pool name must be configured on the client regions that will use this pool by calling
RegionFactory.setPoolName(java.lang.String)
.
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Destroys this pool closing any connections it produced.
|
void |
destroy(boolean keepAlive)
Destroys this pool closing any connections it produced.
|
int |
getFreeConnectionTimeout()
Returns the connection timeout of this pool.
|
long |
getIdleTimeout()
Get the idle timeout for this pool.
|
int |
getLoadConditioningInterval()
Returns the load conditioning interval of this pool.
|
List<InetSocketAddress> |
getLocators()
Returns an unmodifiable list of
InetSocketAddress of the locators this pool is
using. |
int |
getMaxConnections()
Get the maximum connections for this pool.
|
int |
getMinConnections()
Get the minimum connections for this pool.
|
boolean |
getMultiuserAuthentication()
Returns true if multiuser mode is enabled on this pool.
|
String |
getName()
Get the name of the connection pool
|
List<InetSocketAddress> |
getOnlineLocators()
Returns an unmodifiable list of
InetSocketAddress of the locators this pool is
using. |
int |
getPendingEventCount()
Returns the approximate number of pending subscription events maintained at server for this
durable client pool at the time it (re)connected to the server.
|
long |
getPingInterval()
Get the ping interval for this pool.
|
boolean |
getPRSingleHopEnabled()
Returns true if single-hop optimisation is enabled on this pool.
|
QueryService |
getQueryService()
Returns the QueryService for this Pool.
|
int |
getReadTimeout()
Returns the read timeout of this pool.
|
int |
getRetryAttempts()
Get the retry attempts for this pool.
|
int |
getServerConnectionTimeout()
Returns the server connection timeout of this pool.
|
String |
getServerGroup()
Returns the server group of this pool.
|
List<InetSocketAddress> |
getServers()
Returns an unmodifiable list of
InetSocketAddress of the servers this pool is
using. |
int |
getSocketBufferSize()
Returns the socket buffer size of this pool.
|
int |
getSocketConnectTimeout()
Returns the socket connect timeout of this pool.
|
SocketFactory |
getSocketFactory()
The socket factory used by this pool to create socket connections to servers and locators.
|
int |
getStatisticInterval()
Get the statistic interval for this pool.
|
int |
getSubscriptionAckInterval()
Returns the subscription ack interval of this pool.
|
boolean |
getSubscriptionEnabled()
Returns the true if server-to-client subscriptions are enabled on this pool.
|
int |
getSubscriptionMessageTrackingTimeout()
Returns the subscription message tracking timeout of this pool.
|
int |
getSubscriptionRedundancy()
Returns the subscription redundancy level of this pool.
|
int |
getSubscriptionTimeoutMultiplier()
A server has an inactivity monitor that ensures a message is sent to a client at least once a
minute (60,000 milliseconds).
|
default boolean |
getThreadLocalConnections()
Deprecated.
Since Geode 1.10.0. Thread local connections are ignored. Will be removed in future
major release. Now always returns false.
|
boolean |
isDestroyed()
Indicates whether this Pool has been destroyed.
|
default void |
releaseThreadLocalConnection()
Deprecated.
Since Geode 1.10.0. Thread local connections are ignored. Will be removed in future
major release.
|
String getName()
PoolFactory.create(java.lang.String)
int getSocketConnectTimeout()
PoolFactory.setSocketConnectTimeout(int)
int getFreeConnectionTimeout()
PoolFactory.setFreeConnectionTimeout(int)
int getServerConnectionTimeout()
PoolFactory.setServerConnectionTimeout(int)
int getLoadConditioningInterval()
PoolFactory.setLoadConditioningInterval(int)
int getSocketBufferSize()
PoolFactory.setSocketBufferSize(int)
int getReadTimeout()
PoolFactory.setReadTimeout(int)
int getMinConnections()
PoolFactory.setMinConnections(int)
int getMaxConnections()
PoolFactory.setMaxConnections(int)
long getIdleTimeout()
PoolFactory.setIdleTimeout(long)
long getPingInterval()
PoolFactory.setPingInterval(long)
int getStatisticInterval()
PoolFactory.setStatisticInterval(int)
int getRetryAttempts()
PoolFactory.setRetryAttempts(int)
@Deprecated default boolean getThreadLocalConnections()
true
if thread local connections are enabled on this pool.PoolFactory.setThreadLocalConnections(boolean)
boolean getSubscriptionEnabled()
PoolFactory.setSubscriptionEnabled(boolean)
boolean getPRSingleHopEnabled()
PoolFactory.setPRSingleHopEnabled(boolean)
int getSubscriptionRedundancy()
PoolFactory.setSubscriptionRedundancy(int)
int getSubscriptionMessageTrackingTimeout()
PoolFactory.setSubscriptionMessageTrackingTimeout(int)
int getSubscriptionAckInterval()
PoolFactory.setSubscriptionAckInterval(int)
String getServerGroup()
PoolFactory.setServerGroup(java.lang.String)
boolean getMultiuserAuthentication()
PoolFactory.setMultiuserAuthentication(boolean)
List<InetSocketAddress> getLocators()
InetSocketAddress
of the locators this pool is
using. Each locator is either one added explicitly
when the pool
was created.
If a pool has no locators then it can not discover servers or locators at runtime.
InetSocketAddress
of the locators this pool is
usingList<InetSocketAddress> getOnlineLocators()
InetSocketAddress
of the locators this pool is
using. The returned locator is only the currently living locator found based on the periodic
locator list request.
The returned locator list may be slightly old information. If the locator does not exist, an empty list is returned.
InetSocketAddress
of the locators this pool is
usingList<InetSocketAddress> getServers()
InetSocketAddress
of the servers this pool is
using. These servers where either added explicitly
when the pool
was created or were discovered using this pools locators
.InetSocketAddress
of the servers this pool is
usingvoid destroy(boolean keepAlive)
keepAlive
- whether the server should keep the durable client's subscriptions alive for
the timeout periodIllegalStateException
- if the pool is still in usevoid destroy()
IllegalStateException
- if the pool is still in useboolean isDestroyed()
@Deprecated default void releaseThreadLocalConnection()
QueryService getQueryService()
int getPendingEventCount()
ClientCache.readyForEvents()
from it.
Durable clients can call this method on reconnect to assess the amount of 'stale' data i.e.
events accumulated at server while this client was away and, importantly, before calling
ClientCache.readyForEvents()
.
Any number of invocations of this method during a single session will return the same value.
It may return a zero value if there are no events pending at server for this client pool. A negative value returned tells us that no queue was available at server for this client pool.
A value -1 indicates that this client pool reconnected to server after its 'durable-client-timeout' period elapsed and hence its subscription queue at server was removed, possibly causing data loss.
A value -2 indicates that this client pool connected to server for the first time.
IllegalStateException
- If called by a non-durable client or if invoked any time after
invocation of ClientCache.readyForEvents()
.int getSubscriptionTimeoutMultiplier()
PoolFactory.setSubscriptionTimeoutMultiplier(int)
SocketFactory getSocketFactory()
PoolFactory.setSocketFactory(SocketFactory)