Annotation 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
Author:
Udo Kohlmeyer, John Blum
See Also:
  • Element Details

    • name

      String name
      Configures the required 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.
    • alertThreshold

      int alertThreshold
      Configures the time, in milliseconds, that an object can be in the queue to be replicated before the 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.
      Default:
      0
    • batchConflationEnabled

      boolean batchConflationEnabled
      A boolean flag to indicate if the configured 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 false. Alternatively use the spring.data.gemfire.gateway.sender.<name>.batch-conflation-enabled property in application.properties.
      Default:
      false
    • batchSize

      int batchSize
      Configures the maximum batch size that the 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 100. Alternatively use the spring.data.gemfire.gateway.sender.<name>.batch-size property in application.properties.
      Default:
      100
    • batchTimeInterval

      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. 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 1000. Alternatively use the spring.data.gemfire.gateway.sender.<name>.batch-time-interval property in application.properties.
      Default:
      1000
    • diskStoreReference

      String diskStoreReference
      Configures the 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.
      Default:
      ""
    • diskSynchronous

      boolean diskSynchronous
      A boolean flag to indicate if the configured GatewaySender should use synchronous DiskStore writes. Defaults to true. Alternatively use the spring.data.gemfire.gateway.sender.<name>.disk-synchronous property in application.properties.
      Default:
      true
    • dispatcherThreads

      int dispatcherThreads
      Configures the number of dispatcher threads that the GatewaySender will 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[] eventFilters
      Configures the list of 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.
      Default:
      {}
    • eventSubstitutionFilter

      String eventSubstitutionFilter
      Configures the 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.
      Default:
      ""
    • manualStart

      boolean manualStart
      A boolean flag indicating whether the configured GatewaySender should 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 maximumQueueMemory
      Configures the maximum size in megabytes that the GatewaySender's queue 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 orderPolicy
      Configures the ordering policy that this GatewaySender will use when queueing entries to be replicated to a remote GatewayReceiver.

      There are three different ordering policies:

      Defaults to OrderPolicyType.KEY. Alternatively use the spring.data.gemfire.gateway.sender.<name>.order-policy property in application.properties.
      Default:
      KEY
    • parallel

      boolean parallel
      A boolean} flag indicating whether the configured GatewaySender should use parallel replication. Parallel replication means that each CacheServer that defines a GatewaySender will send data to a remote GatewayReceiver. Defaults to false. Alternatively use the spring.data.gemfire.gateway.sender.<name>.parallel property in application.properties.
      Default:
      false
    • persistent

      boolean persistent
      A boolean flag indicating whether the configured GatewaySender should 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[] regions
      Configures the list of 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.
      Default:
      {}
    • remoteDistributedSystemId

      int remoteDistributedSystemId
      Configures the id of the remote distributed system (cluster) that this GatewaySender will 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 socketBufferSize
      Configures the socket buffer size in bytes for this GatewaySender. Defaults to 524288. Alternatively use the spring.data.gemfire.gateway.sender.<name>.socket-buffer-size property in application.properties.
      Default:
      524288
    • socketReadTimeout

      int socketReadTimeout
      Configures the amount of time in milliseconds that this 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 0. Alternatively use the spring.data.gemfire.gateway.sender.<name>.socket-read-timeout property in application.properties.
      Default:
      0
    • transportFilters

      String[] transportFilters
      Configures an in-order list of 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.
      Default:
      {}