@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–2021 Pivotal Software, Inc.. All rights reserved.