Spring Data for VMware GemFire
Annotation Interface EnableGatewaySender
@Target(TYPE)
@Retention(RUNTIME)
@Inherited
@Documented
@Import({GatewaySenderBeanFactoryPostProcessor.class,GatewaySenderConfiguration.class})
public @interface EnableGatewaySender
This
Annotation is responsible for configuring a single GatewaySender.
All properties set with this annotation override the defaults set on EnableGatewaySenders.- Since:
- 2.2.0
- See Also:
-
AnnotationDocumentedInheritedRetentionTargetGatewayEventFilterGatewayEventSubstitutionFilterGatewayReceiverGatewaySenderGatewaySender.OrderPolicyGatewayTransportFilterEnableGatewaySenders
-
Required Element Summary
Required Elements -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionintConfigures the time, in milliseconds, that an object can be in the queue to be replicated before theGatewaySenderlogs an alert.booleanA boolean flag to indicate if the configuredGatewaySendersshould use conflate entries in each batch.intConfigures the maximum batch size that theGatewaySendersends to the remote site.intConfigures the maximum batch time interval in milliseconds that theGatewaySenderwaits before attempting to send a batch of queued objects to the remoteGatewayReceiver.Configures theDiskStoreused by a GatewaySender} when persisting theGatewaySenderqueue's data.booleanA boolean flag to indicate if the configuredGatewaySendershould use synchronousDiskStorewrites.intConfigures the number of dispatcher threads that theGatewaySenderwill try to use to dispatch the queued events.String[]Configures the list ofGatewayEventFiltersto be applied to thisGatewaySender.Configures theGatewayEventSubstitutionFilterused by thisGatewaySender.booleanA boolean flag indicating whether the configuredGatewaySendershould be started automatically.intConfigures the maximum size in megabytes that theGatewaySender'squeue may take in heap memory before overflowing to disk.Configures the ordering policy that thisGatewaySenderwill use when queueing entries to be replicated to a remoteGatewayReceiver.booleanA boolean} flag indicating whether the configuredGatewaySendershould use parallel replication.booleanA boolean flag indicating whether the configuredGatewaySendershould use persistence.String[]Configures the list ofRegionnames that will be configured with thisGatewaySenderfor replication.intConfigures the id of the remote distributed system (cluster) that thisGatewaySenderwill send its data to.intConfigures the socket buffer size in bytes for thisGatewaySender.intConfigures the amount of time in milliseconds that thisGatewaySenderwill wait to receive an acknowledgment from a remote site.String[]Configures an in-order list ofGatewayTransportFilterobjects to be applied to thisGatewaySender.
-
Element Details
-
name
String nameConfigures the requirednameof thisGatewaySender. 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 ofGatewaySenderproperties from application.properties. For example, spring.data.gemfire.gateway.sender.<name>.manual-start that is specific to thisGatewaySender.
-
-
-
alertThreshold
int alertThresholdConfigures the time, in milliseconds, that an object can be in the queue to be replicated before theGatewaySenderlogs an alert. Defaults toGatewaySenderConfiguration.DEFAULT_ALERT_THRESHOLD. Alternatively use the spring.data.gemfire.gateway.sender.<name>.alert-threshold property in application.properties.- Default:
- 0
-
batchConflationEnabled
boolean batchConflationEnabledA boolean flag to indicate if the configuredGatewaySendersshould 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 false. Alternatively use the spring.data.gemfire.gateway.sender.<name>.batch-conflation-enabled property in application.properties.- Default:
- false
-
batchSize
int batchSizeConfigures the maximum batch size that theGatewaySendersends to the remote site. This property works in conjunction with theEnableGatewaySenders.batchTimeInterval()setting. AGatewaySenderwill send when either the batch-size or batch-time-interval is reached. Defaults to 100. Alternatively use the spring.data.gemfire.gateway.sender.<name>.batch-size property in application.properties.- Default:
- 100
-
batchTimeInterval
int batchTimeIntervalConfigures the maximum batch time interval in milliseconds that theGatewaySenderwaits before attempting to send a batch of queued objects to the remoteGatewayReceiver. This property works in conjunction with theEnableGatewaySenders.batchSize()setting. AGatewaySenderwill send when either the batch-size or batch-time-interval is reached. Defaults to 1000. Alternatively use the spring.data.gemfire.gateway.sender.<name>.batch-time-interval property in application.properties.- Default:
- 1000
-
diskStoreReference
String diskStoreReferenceConfigures theDiskStoreused by a GatewaySender} when persisting theGatewaySenderqueue's data. This setting should be set when thepersistent()property is set to true. Defaults to "". Alternatively use the spring.data.gemfire.gateway.sender.<name>.diskstore-reference property in application.properties.- Default:
- ""
-
diskSynchronous
boolean diskSynchronousA boolean flag to indicate if the configuredGatewaySendershould use synchronousDiskStorewrites. Defaults to true. Alternatively use the spring.data.gemfire.gateway.sender.<name>.disk-synchronous property in application.properties.- Default:
- true
-
dispatcherThreads
int dispatcherThreadsConfigures the number of dispatcher threads that theGatewaySenderwill try to use to dispatch the queued events. Defaults to 5. Alternatively use the spring.data.gemfire.gateway.sender.<name>.dispatcher-threads property in application.properties.- Default:
- 5
-
eventFilters
String[] eventFiltersConfigures the list ofGatewayEventFiltersto be applied to thisGatewaySender.GatewayEventFiltersare used to filter out objects from the sending queue before dispatching them to the remoteGatewayReceiver. Defaults to empty list. Alternatively use the spring.data.gemfire.gateway.sender.<name>.event-filters property in application.properties.- Default:
- {}
-
eventSubstitutionFilter
String eventSubstitutionFilterConfigures theGatewayEventSubstitutionFilterused by thisGatewaySender. TheGatewayEventSubstitutionFilteris used to replace values on objects before they are enqueued for remote replication. Defaults toGatewaySenderConfiguration.DEFAULT_EVENT_SUBSTITUTION_FILTER. Alternatively use the spring.data.gemfire.gateway.sender.<name>.event-substitution-filter property in application.properties.- Default:
- ""
-
manualStart
boolean manualStartA boolean flag indicating whether the configuredGatewaySendershould be started automatically.Defaults to {@value @EnableGatewaySenderConfiguration.DEFAULT_MANUAL_START}. Alternatively use the spring.data.gemfire.gateway.sender.<name>.manual-start property in application.properties.
- Default:
- false
-
maximumQueueMemory
int maximumQueueMemoryConfigures the maximum size in megabytes that theGatewaySender'squeue may take in heap memory before overflowing to disk. Defaults to 100. Alternatively use the spring.data.gemfire.gateway.sender.<name>.maximum-queue-memory property in application.properties.- Default:
- 100
-
orderPolicy
OrderPolicyType orderPolicyConfigures the ordering policy that thisGatewaySenderwill use when queueing entries to be replicated to a remoteGatewayReceiver.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 Region
OrderPolicyType.KEY. Alternatively use the spring.data.gemfire.gateway.sender.<name>.order-policy property in application.properties.- Default:
- KEY
-
parallel
boolean parallelA boolean} flag indicating whether the configuredGatewaySendershould use parallel replication. Parallel replication means that eachCacheServerthat defines aGatewaySenderwill send data to a remoteGatewayReceiver. Defaults to false. Alternatively use the spring.data.gemfire.gateway.sender.<name>.parallel property in application.properties.- Default:
- false
-
persistent
boolean persistentA boolean flag indicating whether the configuredGatewaySendershould use persistence. This setting should be used in conjunction with the disk-store-reference property. Defaults to false. Alternatively use the spring.data.gemfire.gateway.sender.<name>.persistent property in application.properties.- Default:
- false
-
regions
String[] regionsConfigures the list ofRegionnames that will be configured with thisGatewaySenderfor replication. An empty list denotes that ALLRegionsare to be replicated to the remoteGatewayReceiver. Defaults to empty list. Alternatively use the spring.data.gemfire.gateway.sender.<name>.region-names property in application.properties.- Default:
- {}
-
remoteDistributedSystemId
int remoteDistributedSystemIdConfigures the id of the remote distributed system (cluster) that thisGatewaySenderwill send its data to. Defaults to {@value @EnableGatewaySenderConfiguration.DEFAULT_REMOTE_DISTRIBUTED_SYSTEM_ID}. Alternatively use the spring.data.gemfire.gateway.sender.<name>.remote-distributed-system-id property in application.properties.- Default:
- -1
-
socketBufferSize
int socketBufferSizeConfigures the socket buffer size in bytes for thisGatewaySender. Defaults to 524288. Alternatively use the spring.data.gemfire.gateway.sender.<name>.socket-buffer-size property in application.properties.- Default:
- 524288
-
socketReadTimeout
int socketReadTimeoutConfigures the amount of time in milliseconds that thisGatewaySenderwill 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 0. Alternatively use the spring.data.gemfire.gateway.sender.<name>.socket-read-timeout property in application.properties.- Default:
- 0
-
transportFilters
String[] transportFiltersConfigures an in-order list ofGatewayTransportFilterobjects to be applied to thisGatewaySender. Defaults to empty list. Alternatively use the spring.data.gemfire.gateway.sender.<name>.transport-filters property in application.properties.- Default:
- {}
-