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