@Target(value=TYPE) @Retention(value=RUNTIME) @Inherited @Documented @Import(value={GatewaySenderBeanFactoryPostProcessor.class,GatewaySendersConfiguration.class}) public @interface EnableGatewaySenders
Annotation is responsible for the configuration of multiple GatewaySenders.
All properties set with this Annotation will be used as the default values for all
GatewaySenders configured within the gatewaySenders property.Annotation,
Documented,
Inherited,
Retention,
Target,
GatewayEventFilter,
GatewayEventSubstitutionFilter,
GatewayReceiver,
GatewaySender,
GatewaySender.OrderPolicy,
GatewayTransportFilter,
EnableGatewaySender| Modifier and Type | Optional Element and Description |
|---|---|
int |
alertThreshold
Configures the time, in milliseconds, that an object can be in the queue to be replicated before the
configured
GatewwaySenders log an alert. |
boolean |
batchConflationEnabled
A boolean flag to indicate if the configured
GatewaySenders should use conflate
entries in each batch. |
int |
batchSize
Configures the maximum batch size that all configured
GatewaySenders sends to
the remote site. |
int |
batchTimeInterval
Configures the maximum batch time interval in milliseconds that all configured
GatewaySenders
wait before attempting to send a batch of queued objects to the remote GatewayReceivers. |
String |
diskStoreReference
Configures the
DiskStore used by all configured GatewaySender GatewaySenders} when persisting
the GatewaySenders queue data. |
boolean |
diskSynchronous
A boolean flag indicating whether all configured
GatewaySenders should use
synchronous DiskStore writes. |
int |
dispatcherThreads
Configures the number of dispatcher threads that all configured
GatewaySenders will try
to use to dispatch the queued events. |
String[] |
eventFilters
Configures the list of
GatewayEventFilters to be applied to all configured
GatewaySenders. |
String |
eventSubstitutionFilter
Configures the
GatewayEventSubstitutionFilter used by all configured GatewaySenders. |
EnableGatewaySender[] |
gatewaySenders
The list of
GatewaySenders to be configured. |
boolean |
manualStart
A boolean flag indicating whether all configured
GatewaySenders should be
started automatically. |
int |
maximumQueueMemory
Configures the maximum size in megabytes that all configured
GatewaySenders queue may take
in heap memory before overflowing to disk. |
OrderPolicyType |
orderPolicy
Configures the ordering policy that all configured
GatewaySenders will use when queueing
entries to be replicated to a remote GatewayReceiver. |
boolean |
parallel
A boolean} flag indicating whether all configured
GatewaySenders should use
parallel replication. |
boolean |
persistent
A boolean flag indicating whether all configured
GatewaySenders should use
persistence. |
String[] |
regions
Configures the list of
Region names that will be configured for all GatewaySenders. |
int |
remoteDistributedSystemId
Configures the id of the remote distributed system (cluster) that all configured
GatewaySenders will send their data to. |
int |
socketBufferSize
Configures the socket buffer size in bytes for all configured
GatewaySenders. |
int |
socketReadTimeout
Configures the amount of time in milliseconds that all configured
GatewaySenders will wait
to receive an acknowledgment from a remote site. |
String[] |
transportFilters
Configures an in-order list of
GatewayTransportFilter objects to be applied to all configured
GatewaySenders. |
public abstract int alertThreshold
GatewwaySenders log an alert.
Defaults to GatewaySenderConfiguration.DEFAULT_ALERT_THRESHOLD.
Alternatively use the spring.data.gemfire.gateway.sender.alert-threshold property
in application.properties.public abstract boolean batchConflationEnabled
GatewaySenders should use conflate
entries in each batch. This means, that a batch will never contain duplicate entries, as the batch will always
only contain the latest value for a key.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.batch-conflation-enabled property
in application.properties.public abstract int batchSize
GatewaySenders sends to
the remote site.
This property works in conjunction with the batchTimeInterval() setting.
A GatewaySender will send when either the batch-size or batch-time-interval
is reached.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.batch-size property
in application.properties.public abstract int batchTimeInterval
GatewaySenders
wait before attempting to send a batch of queued objects to the remote GatewayReceivers.
This property works in conjunction with the batchSize() setting.
A GatewaySender will send when either the batch-size or batch-time-interval
is reached.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.batch-time-interval property
in application.properties.public abstract String diskStoreReference
DiskStore used by all configured GatewaySender GatewaySenders} when persisting
the GatewaySenders queue data.
This setting should be set when the EnableGatewaySender.persistent() property is set to true.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.diskstore-reference property
in application.properties.public abstract boolean diskSynchronous
GatewaySenders should use
synchronous DiskStore writes.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.disk-synchronous property
in application.properties.public abstract int dispatcherThreads
GatewaySenders will try
to use to dispatch the queued events.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.dispatcher-threads property
in application.properties.public abstract String[] eventFilters
GatewayEventFilters to be applied to all configured
GatewaySenders.
GatewayEventFilters are used to filter out objects from the sending queue before
dispatching them to remote GatewayReceivers.
Defaults to empty list.
Alternatively use the spring.data.gemfire.gateway.sender.event-filters property
in application.properties.public abstract String eventSubstitutionFilter
GatewayEventSubstitutionFilter used by all configured GatewaySenders.
The GatewayEventSubstitutionFilter is used to replace values on objects before they are enqueued
for remote replication.
Defaults to GatewaySenderConfiguration.DEFAULT_EVENT_SUBSTITUTION_FILTER.
Alternatively use the spring.data.gemfire.gateway.sender.event-substitution-filter property
in application.properties.public abstract EnableGatewaySender[] gatewaySenders
GatewaySenders to be configured.
If no GatewaySender GatewaySenders) are configured, a default {@link GatewaySender} will be created
using the properties provided.public abstract boolean manualStart
GatewaySenders should be
started automatically.
Defaults to . Alternatively use the spring.data.gemfire.gateway.sender.manual-start property in application.properties.
public abstract int maximumQueueMemory
GatewaySenders queue may take
in heap memory before overflowing to disk.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.maximum-queue-memory property
in application.properties.public abstract OrderPolicyType orderPolicy
GatewaySenders will use when queueing
entries to be replicated to a remote GatewayReceiver.
There are three different ordering policies:
OrderPolicyType.KEY - Order of events preserved on a per key basisOrderPolicyType.THREAD - Order of events preserved by the thread that added the eventOrderPolicyType.PARTITION - Order of events is preserved in order that they arrived in partitioned RegionOrderPolicyType.KEY.
Alternatively use the spring.data.gemfire.gateway.sender.order-policy property
in application.properties.public abstract boolean parallel
GatewaySenders should use
parallel replication.
Parallel replication means that each CacheServer that defines a GatewaySender will send data
to a remote GatewayReceiver.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.parallel property
in application.properties.public abstract boolean persistent
GatewaySenders should use
persistence.
This setting should be used in conjunction with the disk-store-reference property.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.persistent property
in application.properties.public abstract String[] regions
Region names that will be configured for all GatewaySenders.
An empty list denotes that ALL Regions are to be replicated to the remote GatewayReceiver.
Defaults to empty list.
Alternatively use the spring.data.gemfire.gateway.sender.region-names property
in application.properties.public abstract int remoteDistributedSystemId
GatewaySenders will send their data to.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.remote-distributed-system-id property
in application.properties.public abstract int socketBufferSize
GatewaySenders.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.socket-buffer-size property
in application.properties.public abstract int socketReadTimeout
GatewaySenders will wait
to receive an acknowledgment from a remote site.
By default this is set to 0, which means there is no timeout. The minimum allowed timeout
is 30000 (milliseconds).
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.socket-read-timeout property
in application.properties.public abstract String[] transportFilters
GatewayTransportFilter objects to be applied to all configured
GatewaySenders.
Defaults to empty list.
Alternatively use the spring.data.gemfire.gateway.sender.transport-filters property
in application.properties.Copyright © 2011–2019 Pivotal Software, Inc.. All rights reserved.