Annotation Interface EnablePool
@Target(TYPE)
@Retention(RUNTIME)
@Inherited
@Documented
@Import(AddPoolConfiguration.class)
public @interface EnablePool
The
EnablePool
annotation configures a Spring Configuration
annotated class with a "named" GemFire client Pool
bean in the application context.
This annotation is used in conjunction with the ClientCacheApplication
annotation to add an additional
Pool
to a GemFire cache client application configured with Spring (Data GemFire).
To add more than 1 Pool
to your application, this annotation can be nested in the EnablePools
annotation.- Since:
- 1.9.0
- Author:
- John Blum
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic @interface
static @interface
-
Required Element Summary
Modifier and TypeRequired ElementDescription -
Optional Element Summary
Modifier and TypeOptional ElementDescriptionint
Configures the free connection timeout for this pool.long
Configures the amount of time a connection can be idle before expiring the connection.int
Configures the load conditioning interval for this pool.Configures the GemFireLocators
to which this cache client will connect.AString
containing a comma-delimited list of hosts and ports defining the connection endpoints of GemFire Locators in the cluster.int
Configures the max number of client to server connections that the pool will create.int
Configures the minimum number of connections to keep available at all times.boolean
If set to true then the created pool can be used by multiple users.long
Configures how often to ping servers to verify that they are still alive.boolean
By defaultprSingleHopEnabled
is true in which case the client is aware of the location of partitions on servers hosting Regions withDataPolicy.PARTITION
.int
Configures the number of milliseconds to wait for a response from a server before timing out the operation and trying another server (if any are available).int
Configures the number of times to retry a request after timeout/exception.int
Configures the server connection timeout for this Pool.Configures the group that all servers in which this pool connects to must belong to.Configures the GemFireCacheServers
to which this cache client will connect.AString
containing a comma-delimited list of hosts and ports defining the connection endpoints of GemFire Servers in the cluster.int
Configures the socket buffer size for each connection made in this pool.int
Configures thesocket connect timeout
for this "named"Pool
.Configures theSocketFactory
bean name
used by thisPool
to create connections to both Locators (if configured usinglocators()
) and Servers.int
Configures how often to send client statistics to the server.int
Configures the interval in milliseconds to wait before sending acknowledgements to the cache server for events received from the server subscriptions.boolean
If set to true then the created pool will have server-to-client subscriptions enabled.int
Configures the messageTrackingTimeout attribute which is the time-to-live period, in milliseconds, for subscription events the client has received from the server.int
Configures the redundancy level for this pools server-to-client subscriptions.boolean
Configures the thread local connections policy for this pool.
-
Element Details
-
name
String nameSpecifies thename
of the clientPool
in Pivotal GemFire/Apache Geode, which is also used as the name of the bean registered in the Spring container as well as the name used in the resolution ofPool
properties from application.properties (e.g. spring.data.gemfire.pool.<poolName>.max-connections), that are specific to thisPool
.
-
-
-
freeConnectionTimeout
int freeConnectionTimeoutConfigures the free connection timeout for this pool. Defaults toPoolFactory.DEFAULT_FREE_CONNECTION_TIMEOUT
. Use either the spring.data.gemfire.pool.<poolName>.free-connection-timeout property or the spring.data.gemfire.pool.free-connection-timeout property in application.properties.- Default:
- 10000
-
idleTimeout
long idleTimeoutConfigures the amount of time a connection can be idle before expiring the connection. Defaults toPoolFactory.DEFAULT_IDLE_TIMEOUT
. Use either the spring.data.gemfire.pool.<poolName>.idle-timeout property or the spring.data.gemfire.pool.idle-timeout property in application.properties.- Default:
- 5000L
-
loadConditioningInterval
int loadConditioningIntervalConfigures the load conditioning interval for this pool. Defaults toPoolFactory.DEFAULT_LOAD_CONDITIONING_INTERVAL
. Use either the spring.data.gemfire.pool.<poolName>.load-conditioning-interval property or the spring.data.gemfire.pool.load-conditioning-interval property in application.properties.- Default:
- 300000
-
locators
EnablePool.Locator[] locatorsConfigures the GemFireLocators
to which this cache client will connect. Use either the spring.data.gemfire.pool.<poolName>.locators property or the spring.data.gemfire.pool.locators property in application.properties.- Default:
- {}
-
locatorsString
String locatorsStringAString
containing a comma-delimited list of hosts and ports defining the connection endpoints of GemFire Locators in the cluster. TheString
must be formatted as: 'host1[port], host2[port], ..., hostN[port]'. Use either the spring.data.gemfire.pool.<poolName>.locators property or the spring.data.gemfire.pool.locators property in application.properties.- Default:
- ""
-
maxConnections
int maxConnectionsConfigures the max number of client to server connections that the pool will create. Defaults toPoolFactory.DEFAULT_MAX_CONNECTIONS
. Use either the spring.data.gemfire.pool.<poolName>.max-connections property or the spring.data.gemfire.pool.max-connections property in application.properties.- Default:
- -1
-
minConnections
int minConnectionsConfigures the minimum number of connections to keep available at all times. Defaults toPoolFactory.DEFAULT_MIN_CONNECTIONS
. Use either the spring.data.gemfire.pool.<poolName>.min-connections property or the spring.data.gemfire.pool.min-connections property in application.properties.- Default:
- 1
-
multiUserAuthentication
boolean multiUserAuthenticationIf set to true then the created pool can be used by multiple users. Defaults toPoolFactory.DEFAULT_MULTIUSER_AUTHENTICATION
. Use either the spring.data.gemfire.pool.<poolName>.multi-user-authentication property or the spring.data.gemfire.pool.multi-user-authentication property in application.properties.- Default:
- false
-
pingInterval
long pingIntervalConfigures how often to ping servers to verify that they are still alive. Defaults toPoolFactory.DEFAULT_PING_INTERVAL
. Use either the spring.data.gemfire.pool.<poolName>.ping-interval property or the spring.data.gemfire.pool.ping-interval property in application.properties.- Default:
- 10000L
-
prSingleHopEnabled
boolean prSingleHopEnabledBy defaultprSingleHopEnabled
is true in which case the client is aware of the location of partitions on servers hosting Regions withDataPolicy.PARTITION
. Defaults toPoolFactory.DEFAULT_PR_SINGLE_HOP_ENABLED
. Use either the spring.data.gemfire.pool.<poolName>.pr-single-hop-enabled property or the spring.data.gemfire.pool.pr-single-hop-enabled property in application.properties.- Default:
- true
-
readTimeout
int readTimeoutConfigures the number of milliseconds to wait for a response from a server before timing out the operation and trying another server (if any are available). Defaults toPoolFactory.DEFAULT_READ_TIMEOUT
. Use either the spring.data.gemfire.pool.<poolName>.read-timeout property or the spring.data.gemfire.pool.read-timeout property in application.properties.- Default:
- 10000
-
retryAttempts
int retryAttemptsConfigures the number of times to retry a request after timeout/exception. Defaults toPoolFactory.DEFAULT_RETRY_ATTEMPTS
. Use either the spring.data.gemfire.pool.<poolName>.retry-attempts property or the spring.data.gemfire.pool.retry-attempts property in application.properties.- Default:
- -1
-
serverConnectionTimeout
int serverConnectionTimeoutConfigures the server connection timeout for this Pool. If the pool has a max connections setting, operations will block if there is no free connection for a specific server. The server connection timeout specifies how long those operations will block waiting for a free connection for a specific server before receiving anAllConnectionsInUseException
. If max connections is not set this setting has no effect. This setting differs fromfreeConnectionTimeout()
, which sets the wait time for any server connection in the pool, whereas this setting sets the wait time for a free connection to a specific server. Defaults toPoolFactory.DEFAULT_SERVER_CONNECTION_TIMEOUT
. Use either the spring.data.gemfire.pool.<poolName>.server-connection-timeout property or the spring.data.gemfire.pool.server-connection-timeout property in application.properties.- Default:
- 0
-
serverGroup
String serverGroupConfigures the group that all servers in which this pool connects to must belong to. Defaults toPoolFactory.DEFAULT_SERVER_GROUP
. Use either the spring.data.gemfire.pool.<poolName>.server-group property or the spring.data.gemfire.pool.server-group property in application.properties.- Default:
- ""
-
servers
EnablePool.Server[] serversConfigures the GemFireCacheServers
to which this cache client will connect. Use either the spring.data.gemfire.pool.<poolName>.servers property or the spring.data.gemfire.pool.servers property in application.properties.- Default:
- {}
-
serversString
String serversStringAString
containing a comma-delimited list of hosts and ports defining the connection endpoints of GemFire Servers in the cluster. TheString
must be formatted as: 'host1[port], host2[port], ..., hostN[port]'. Use either the spring.data.gemfire.pool.<poolName>.servers property or the spring.data.gemfire.pool.servers property in application.properties.- Default:
- ""
-
socketBufferSize
int socketBufferSizeConfigures the socket buffer size for each connection made in this pool. Defaults toPoolFactory.DEFAULT_SOCKET_BUFFER_SIZE
. Use either the spring.data.gemfire.pool.<poolName>.socket-buffer-size property or the spring.data.gemfire.pool.socket-buffer-size property in application.properties.- Default:
- 32768
-
socketConnectTimeout
int socketConnectTimeoutConfigures thesocket connect timeout
for this "named"Pool
. The number of milliseconds specified as socket timeout when the client connects to the servers/locators. A timeout of zero is interpreted as an infinite timeout. The connection will then block until established or an error occurs. Defaults toPoolFactory.DEFAULT_SOCKET_CONNECT_TIMEOUT
. Use either the spring.data.gemfire.pool.<poolName>.socket-connect-timeout property or the spring.data.gemfire.pool.socket-connect-timeout property in application.properties.- Default:
- 59000
-
socketFactoryBeanName
String socketFactoryBeanNameConfigures theSocketFactory
bean name
used by thisPool
to create connections to both Locators (if configured usinglocators()
) and Servers. Defaults to unset. Use either the spring.data.gemfire.pool.<poolName>.socket-factory-bean-name property or the spring.data.gemfire.pool.socket-factory-bean-name property in application.properties.- Default:
- ""
-
statisticInterval
int statisticIntervalConfigures how often to send client statistics to the server. Defaults toPoolFactory.DEFAULT_STATISTIC_INTERVAL
. Use either the spring.data.gemfire.pool.<poolName>.statistic-interval property or the spring.data.gemfire.pool.statistic-interval property in application.properties.- Default:
- -1
-
subscriptionAckInterval
int subscriptionAckIntervalConfigures the interval in milliseconds to wait before sending acknowledgements to the cache server for events received from the server subscriptions. Defaults toPoolFactory.DEFAULT_SUBSCRIPTION_ACK_INTERVAL
. Use either the spring.data.gemfire.pool.<poolName>.subscription-ack-interval property or the spring.data.gemfire.pool.subscription-ack-interval property in application.properties.- Default:
- 100
-
subscriptionEnabled
boolean subscriptionEnabledIf set to true then the created pool will have server-to-client subscriptions enabled. Defaults toPoolFactory.DEFAULT_SUBSCRIPTION_ENABLED
. Use either the spring.data.gemfire.pool.<poolName>.subscription-enabled property or the spring.data.gemfire.pool.subscription-enabled property in application.properties.- Default:
- false
-
subscriptionMessageTrackingTimeout
int subscriptionMessageTrackingTimeoutConfigures the messageTrackingTimeout attribute which is the time-to-live period, in milliseconds, for subscription events the client has received from the server. Defaults toPoolFactory.DEFAULT_SUBSCRIPTION_MESSAGE_TRACKING_TIMEOUT
. Use either the spring.data.gemfire.pool.<poolName>.subscription-message-tracking-timeout property or the spring.data.gemfire.pool.subscription-message-tracking-timeout property in application.properties.- Default:
- 900000
-
subscriptionRedundancy
int subscriptionRedundancyConfigures the redundancy level for this pools server-to-client subscriptions. Defaults toPoolFactory.DEFAULT_SUBSCRIPTION_REDUNDANCY
. Use either the spring.data.gemfire.pool.<poolName>.subscription-redundancy property or the spring.data.gemfire.pool.subscription-redundancy property in application.properties.- Default:
- 0
-
threadLocalConnections
boolean threadLocalConnectionsConfigures the thread local connections policy for this pool. Defaults toPoolFactory.DEFAULT_THREAD_LOCAL_CONNECTIONS
. Use either the spring.data.gemfire.pool.<poolName>.thread-local-connections property or the spring.data.gemfire.pool.thread-local-connections property in application.properties.- Default:
- false
-