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).
- Since:
- GemFire 5.7
-
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Destroys this pool closing any connections it produced.voiddestroy(boolean keepAlive) Destroys this pool closing any connections it produced.intReturns the connection timeout of this pool.longGet the idle timeout for this pool.intReturns the load conditioning interval of this pool.Returns an unmodifiable list ofInetSocketAddressof the locators this pool is using.intGet the maximum connections for this pool.intGet the minimum connections for this pool.booleanReturns true if multiuser mode is enabled on this pool.getName()Get the name of the connection poolReturns an unmodifiable list ofInetSocketAddressof the locators this pool is using.intReturns the approximate number of pending subscription events maintained at server for this durable client pool at the time it (re)connected to the server.longGet the ping interval for this pool.booleanReturns true if single-hop optimisation is enabled on this pool.Returns the QueryService for this Pool.intReturns the read timeout of this pool.intGet the retry attempts for this pool.intReturns the server connection timeout of this pool.Returns the server group of this pool.Returns an unmodifiable list ofInetSocketAddressof the servers this pool is using.intReturns the socket buffer size of this pool.intReturns the socket connect timeout of this pool.The socket factory used by this pool to create socket connections to servers and locators.intGet the statistic interval for this pool.intReturns the subscription ack interval of this pool.booleanReturns the true if server-to-client subscriptions are enabled on this pool.intReturns the subscription message tracking timeout of this pool.intReturns the subscription redundancy level of this pool.intA server has an inactivity monitor that ensures a message is sent to a client at least once a minute (60,000 milliseconds).default booleanDeprecated.Since Geode 1.10.0.booleanIndicates whether this Pool has been destroyed.default voidDeprecated.Since Geode 1.10.0.
-
Method Details
-
getName
String getName()Get the name of the connection pool- Returns:
- the name of the pool
- See Also:
-
getSocketConnectTimeout
int getSocketConnectTimeout()Returns the socket connect timeout of this pool.- Returns:
- the socket connect timeout of this pool
- See Also:
-
getFreeConnectionTimeout
int getFreeConnectionTimeout()Returns the connection timeout of this pool.- Returns:
- the connection timeout of this pool
- See Also:
-
getServerConnectionTimeout
int getServerConnectionTimeout()Returns the server connection timeout of this pool.- Returns:
- the server connection timeout of this pool
- See Also:
-
getLoadConditioningInterval
int getLoadConditioningInterval()Returns the load conditioning interval of this pool.- Returns:
- the load conditioning interval of this pool
- See Also:
-
getSocketBufferSize
int getSocketBufferSize()Returns the socket buffer size of this pool.- Returns:
- the socket buffer size of this pool
- See Also:
-
getReadTimeout
int getReadTimeout()Returns the read timeout of this pool.- Returns:
- the read timeout of this pool
- See Also:
-
getMinConnections
int getMinConnections()Get the minimum connections for this pool.- Returns:
- the minimum connections for this pool
- See Also:
-
getMaxConnections
int getMaxConnections()Get the maximum connections for this pool.- Returns:
- the maximum connections for this pool
- See Also:
-
getIdleTimeout
long getIdleTimeout()Get the idle timeout for this pool.- Returns:
- the idle timeout for this pool
- See Also:
-
getPingInterval
long getPingInterval()Get the ping interval for this pool.- Returns:
- the ping interval for this pool
- See Also:
-
getStatisticInterval
int getStatisticInterval()Get the statistic interval for this pool.- Returns:
- the statistic interval for this pool
- See Also:
-
getRetryAttempts
int getRetryAttempts()Get the retry attempts for this pool.- Returns:
- the retry attempts for this pool
- See Also:
-
getThreadLocalConnections
Deprecated.Since Geode 1.10.0. Thread local connections are ignored. Will be removed in future major release. Now always returns false.Returnstrueif thread local connections are enabled on this pool.- Returns:
- whether thread local connections are enabled on this pool
- See Also:
-
getSubscriptionEnabled
boolean getSubscriptionEnabled()Returns the true if server-to-client subscriptions are enabled on this pool.- Returns:
- whether server-to-client subscriptions are enabled on this pool
- See Also:
-
getPRSingleHopEnabled
boolean getPRSingleHopEnabled()Returns true if single-hop optimisation is enabled on this pool.- Returns:
- whether single-hop optimisation is enabled on this pool
- Since:
- GemFire 6.5
- See Also:
-
getSubscriptionRedundancy
int getSubscriptionRedundancy()Returns the subscription redundancy level of this pool.- Returns:
- the subscription redundancy level of this pool
- See Also:
-
getSubscriptionMessageTrackingTimeout
int getSubscriptionMessageTrackingTimeout()Returns the subscription message tracking timeout of this pool.- Returns:
- the subscription message tracking timeout of this pool
- See Also:
-
getSubscriptionAckInterval
int getSubscriptionAckInterval()Returns the subscription ack interval of this pool.- Returns:
- the subscription ack interval of this pool
- See Also:
-
getServerGroup
String getServerGroup()Returns the server group of this pool.- Returns:
- the server group of this pool
- See Also:
-
getMultiuserAuthentication
boolean getMultiuserAuthentication()Returns true if multiuser mode is enabled on this pool.- Returns:
- whether multiuser mode is enabled on this pool
- Since:
- GemFire 6.5
- See Also:
-
getLocators
List<InetSocketAddress> getLocators()Returns an unmodifiable list ofInetSocketAddressof the locators this pool is using. Each locator is either oneadded explicitlywhen the pool was created.If a pool has no locators then it can not discover servers or locators at runtime.
- Returns:
- an unmodifiable list of
InetSocketAddressof the locators this pool is using
-
getOnlineLocators
List<InetSocketAddress> getOnlineLocators()Returns an unmodifiable list ofInetSocketAddressof 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.
- Returns:
- an unmodifiable list of
InetSocketAddressof the locators this pool is using
-
getServers
List<InetSocketAddress> getServers()Returns an unmodifiable list ofInetSocketAddressof the servers this pool is using. These servers where eitheradded explicitlywhen the pool was created or were discovered using this poolslocators.- Returns:
- an unmodifiable list of
InetSocketAddressof the servers this pool is using
-
destroy
void destroy(boolean keepAlive) Destroys this pool closing any connections it produced.- Parameters:
keepAlive- whether the server should keep the durable client's subscriptions alive for the timeout period- Throws:
IllegalStateException- if the pool is still in use
-
destroy
void destroy()Destroys this pool closing any connections it produced.- Throws:
IllegalStateException- if the pool is still in use
-
isDestroyed
boolean isDestroyed()Indicates whether this Pool has been destroyed.- Returns:
- true if the pool has been destroyed
-
releaseThreadLocalConnection
Deprecated.Since Geode 1.10.0. Thread local connections are ignored. Will be removed in future major release.If this pool was configured to to use thread local connections, then this method will release the connection cached for the calling thread. The connection will then be available for use by other threads. If this pool is not using thread local connections, this method will have no effect. -
getQueryService
QueryService getQueryService()Returns the QueryService for this Pool. The query operations performed using this QueryService will be executed on the servers that are associated with this pool.- Returns:
- the QueryService
-
getPendingEventCount
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. Server would start dispatching these events to this durable client pool when it receivesClientCache.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.
- Returns:
- int The number of subscription events maintained at server for this durable client pool at the time this pool (re)connected. A negative value indicates no queue was found for this client pool.
- Throws:
IllegalStateException- If called by a non-durable client or if invoked any time after invocation ofClientCache.readyForEvents().- Since:
- GemFire 8.1
-
getSubscriptionTimeoutMultiplier
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). If a subscription timeout multipler is set in the client it enables timing out of the subscription feed with failover to another server.- Returns:
- The timeout multiplier
- See Also:
-
getSocketFactory
SocketFactory getSocketFactory()The socket factory used by this pool to create socket connections to servers and locators.- Returns:
- the socket factory used by this pool to create socket connections to servers and locators
- See Also:
-