@Target(value=TYPE) @Retention(value=RUNTIME) @Inherited @Documented @Import(value={GatewaySenderBeanFactoryPostProcessor.class,GatewaySenderConfiguration.class}) public @interface EnableGatewaySender
Annotation
is responsible for configuring a single GatewaySender
.
All properties set with this annotation override the defaults set on EnableGatewaySenders
.Annotation
,
Documented
,
Inherited
,
Retention
,
Target
,
GatewayEventFilter
,
GatewayEventSubstitutionFilter
,
GatewayReceiver
,
GatewaySender
,
GatewaySender.OrderPolicy
,
GatewayTransportFilter
,
EnableGatewaySenders
Modifier and Type | Required Element and Description |
---|---|
String |
name
Configures the required
name of this GatewaySender . |
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
GatewaySender logs 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 the
GatewaySender sends to the remote site. |
int |
batchTimeInterval
Configures the maximum batch time interval in milliseconds that the
GatewaySender waits before
attempting to send a batch of queued objects to the remote GatewayReceiver . |
String |
diskStoreReference
Configures the
DiskStore used by a GatewaySender} when persisting the GatewaySender
queue's data. |
boolean |
diskSynchronous
A boolean flag to indicate if the configured
GatewaySender should use synchronous
DiskStore writes. |
int |
dispatcherThreads
Configures the number of dispatcher threads that the
GatewaySender will try to use to dispatch
the queued events. |
String[] |
eventFilters
Configures the list of
GatewayEventFilters to be applied to this GatewaySender . |
String |
eventSubstitutionFilter
Configures the
GatewayEventSubstitutionFilter used by this GatewaySender . |
boolean |
manualStart
A boolean flag indicating whether the configured
GatewaySender should be started automatically. |
int |
maximumQueueMemory
Configures the maximum size in megabytes that the
GatewaySender's queue may take in heap
memory before overflowing to disk. |
OrderPolicyType |
orderPolicy
Configures the ordering policy that this
GatewaySender will use when queueing entries to be replicated to
a remote GatewayReceiver . |
boolean |
parallel
A boolean} flag indicating whether the configured
GatewaySender should use
parallel replication. |
boolean |
persistent
A boolean flag indicating whether the configured
GatewaySender should use persistence. |
String[] |
regions
Configures the list of
Region names that will be configured with this GatewaySender
for replication. |
int |
remoteDistributedSystemId
Configures the id of the remote distributed system (cluster) that this
GatewaySender will send
its data to. |
int |
socketBufferSize
Configures the socket buffer size in bytes for this
GatewaySender . |
int |
socketReadTimeout
Configures the amount of time in milliseconds that this
GatewaySender will wait to receive
an acknowledgment from a remote site. |
String[] |
transportFilters
Configures an in-order list of
GatewayTransportFilter objects to be applied to this GatewaySender . |
public abstract String name
name
of this GatewaySender
.
This name is also used as the name of the bean registered in the Spring Container as well as the name used
in the resolution of GatewaySender
properties from application.properties.
For example, spring.data.gemfire.gateway.sender.<name>.manual-start that is specific to
this GatewaySender
.public abstract int alertThreshold
GatewaySender
logs an alert.
Defaults to GatewaySenderConfiguration.DEFAULT_ALERT_THRESHOLD
.
Alternatively use the spring.data.gemfire.gateway.sender.<name>.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.<name>.batch-conflation-enabled property
in application.properties.public abstract int batchSize
GatewaySender
sends to the remote site.
This property works in conjunction with the EnableGatewaySenders.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.<name>.batch-size property
in application.properties.public abstract int batchTimeInterval
GatewaySender
waits before
attempting to send a batch of queued objects to the remote GatewayReceiver
.
This property works in conjunction with the EnableGatewaySenders.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.<name>.batch-time-interval property
in application.properties.public abstract String diskStoreReference
DiskStore
used by a GatewaySender} when persisting the GatewaySender
queue's data.
This setting should be set when the persistent()
property is set to true.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.<name>.diskstore-reference property
in application.properties.public abstract boolean diskSynchronous
GatewaySender
should use synchronous
DiskStore
writes.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.<name>.disk-synchronous property
in application.properties.public abstract int dispatcherThreads
GatewaySender
will try to use to dispatch
the queued events.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.<name>.dispatcher-threads property
in application.properties.public abstract String[] eventFilters
GatewayEventFilters
to be applied to this GatewaySender
.
GatewayEventFilters
are used to filter out objects from the sending queue before
dispatching them to the remote GatewayReceiver
.
Defaults to empty list.
Alternatively use the spring.data.gemfire.gateway.sender.<name>.event-filters property
in application.properties.public abstract String eventSubstitutionFilter
GatewayEventSubstitutionFilter
used by this GatewaySender
.
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.<name>.event-substitution-filter property
in application.properties.public abstract boolean manualStart
GatewaySender
should be started automatically.
Defaults to . Alternatively use the spring.data.gemfire.gateway.sender.<name>.manual-start property in application.properties.
public abstract int maximumQueueMemory
GatewaySender's
queue may take in heap
memory before overflowing to disk.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.<name>.maximum-queue-memory property
in application.properties.public abstract OrderPolicyType orderPolicy
GatewaySender
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.<name>.order-policy property
in application.properties.public abstract boolean parallel
GatewaySender
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.<name>.parallel property
in application.properties.public abstract boolean persistent
GatewaySender
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.<name>.persistent property
in application.properties.public abstract String[] regions
Region
names that will be configured with this GatewaySender
for replication.
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.<name>.region-names property
in application.properties.public abstract int remoteDistributedSystemId
GatewaySender
will send
its data to.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.<name>.remote-distributed-system-id property
in application.properties.public abstract int socketBufferSize
GatewaySender
.
Defaults to .
Alternatively use the spring.data.gemfire.gateway.sender.<name>.socket-buffer-size property
in application.properties.public abstract int socketReadTimeout
GatewaySender
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.<name>.socket-read-timeout property
in application.properties.public abstract String[] transportFilters
GatewayTransportFilter
objects to be applied to this GatewaySender
.
Defaults to empty list.
Alternatively use the spring.data.gemfire.gateway.sender.<name>.transport-filters property
in application.properties.Copyright © 2011–2023 Pivotal Software, Inc.. All rights reserved.