GatewaySenderFactory (Apache Geode 1.15.4)

org.apache.geode.cache.wan

## Interface GatewaySenderFactory

-     public interface GatewaySenderFactory

  Factory to create SerialGatewaySender
  Since:
    GemFire 7.0
  See Also:
    `GatewaySender`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `GatewaySenderFactory` | `addGatewayEventFilter(GatewayEventFilter filter)` Adds a `GatewayEventFilter`
    `GatewaySenderFactory` | `addGatewayTransportFilter(GatewayTransportFilter filter)` Adds a `GatewayTransportFilter`
    `GatewaySender` | `create(String id, int remoteDSId)` Creates a `GatewaySender` to communicate with remote distributed system
    `GatewaySenderFactory` | `removeGatewayEventFilter(GatewayEventFilter filter)` Removes the provided `GatewayEventFilter` from this GatewaySender.
    `GatewaySenderFactory` | `removeGatewayTransportFilter(GatewayTransportFilter filter)` Removes the provided `GatewayTransportFilter` from this GatewaySender.
    `GatewaySenderFactory` | `setAlertThreshold(int threshold)` Sets the alert threshold in milliseconds for entries in a `GatewaySender` 's queue.
    `GatewaySenderFactory` | `setBatchConflationEnabled(boolean isConflation)` Sets whether to enable batch conflation for a `GatewaySender`'s queue.
    `GatewaySenderFactory` | `setBatchSize(int size)` Sets the batch size to be picked at the time of dispatching from a `GatewaySender`'s queue.
    `GatewaySenderFactory` | `setBatchTimeInterval(int interval)` Sets a time interval in milliseconds to wait to form a batch to be dispatched from a `GatewaySender`'s queue.
    `GatewaySenderFactory` | `setDiskStoreName(String name)` Sets the disk store name for overflow or persistence
    `GatewaySenderFactory` | `setDiskSynchronous(boolean isSynchronous)` Sets whether or not the writing to the disk is synchronous.
    `GatewaySenderFactory` | `setDispatcherThreads(int numThreads)` Sets the number of dispatcher thread.
    `GatewaySenderFactory` | `setEnforceThreadsConnectSameReceiver(boolean enforceThreadsConnectSameReceiver)` If true, receiver member id is checked by all dispatcher threads when the connection is established to ensure they connect to the same receiver.
    `GatewaySenderFactory` | `setGatewayEventSubstitutionFilter(GatewayEventSubstitutionFilter filter)` Sets the provided `GatewayEventSubstitutionFilter` in this GatewaySenderFactory.
    `GatewaySenderFactory` | `setGroupTransactionEvents(boolean groupTransactionEvents)` Indicates whether events belonging to the same transaction must be delivered inside the same batch, i.e.
    `GatewaySenderFactory` | `setManualStart(boolean start)` Deprecated. - Manual start of senders is deprecated and will be removed in a later release.
    `GatewaySenderFactory` | `setMaximumQueueMemory(int maxQueueMemory)` Sets the maximum amount of memory (in MB) for a `GatewaySender`'s queue.
    `GatewaySenderFactory` | `setOrderPolicy(GatewaySender.OrderPolicy policy)` Sets `OrderPolicy` for this GatewaySender.
    `GatewaySenderFactory` | `setParallel(boolean isParallel)` Indicates whether all VMs need to distribute events to remote site.
    `GatewaySenderFactory` | `setParallelFactorForReplicatedRegion(int parallel)`
    `GatewaySenderFactory` | `setPersistenceEnabled(boolean isPersistence)` Sets whether to enable persistence for a `GatewaySender`'s queue.
    `GatewaySenderFactory` | `setSocketBufferSize(int size)` Sets the buffer size in bytes of the socket connection for this `GatewaySender`.
    `GatewaySenderFactory` | `setSocketReadTimeout(int timeout)` Sets the number of milliseconds to wait for a response from a `GatewayReceiver` before timing out the operation and trying another `GatewayReceiver` (if any are available).

- - ### Method Detail

    - #### setParallel

          GatewaySenderFactory setParallel(boolean isParallel)

      Indicates whether all VMs need to distribute events to remote site. In this case only the events originating in a particular VM will be dispatched in order.
      Parameters:
        `isParallel` - boolean to indicate whether distribution policy is parallel
      Returns:
        this factory

    - #### setGroupTransactionEvents

          GatewaySenderFactory setGroupTransactionEvents(boolean groupTransactionEvents)

      Indicates whether events belonging to the same transaction must be delivered inside the same batch, i.e. they cannot be spread across different batches. `groupTransactionEvents` can be enabled only on parallel gateway senders or on serial gateway senders with just one dispatcher thread. It cannot be enabled if batch conflation is enabled.
      Parameters:
        `groupTransactionEvents` - boolean to indicate whether events from the same transaction must be delivered inside the same batch.
      Returns:
        this factory

    - #### addGatewayEventFilter

          GatewaySenderFactory addGatewayEventFilter(GatewayEventFilter filter)

      Adds a `GatewayEventFilter`
      Parameters:
        `filter` - GatewayEventFilter
      Returns:
        this factory

    - #### addGatewayTransportFilter

          GatewaySenderFactory addGatewayTransportFilter(GatewayTransportFilter filter)

      Adds a `GatewayTransportFilter`
      Parameters:
        `filter` - GatewayTransportFilter
      Returns:
        this factory

    - #### setSocketBufferSize

          GatewaySenderFactory setSocketBufferSize(int size)

      Sets the buffer size in bytes of the socket connection for this `GatewaySender`. The default is 32768 bytes.
      Parameters:
        `size` - The size in bytes of the socket buffer
      Returns:
        this factory

    - #### setSocketReadTimeout

          GatewaySenderFactory setSocketReadTimeout(int timeout)

      Sets the number of milliseconds to wait for a response from a `GatewayReceiver` before timing out the operation and trying another `GatewayReceiver` (if any are available). Default is 0 which means infinite timeout.
      Parameters:
        `timeout` - number of milliseconds to wait for a response from a GatewayReceiver
      Returns:
        this factory
      Throws:
        `IllegalArgumentException` - if `timeout` is less than `0`.

    - #### setDiskStoreName

          GatewaySenderFactory setDiskStoreName(String name)

      Sets the disk store name for overflow or persistence
      Parameters:
        `name` - the disk store name for overflow or persistence
      Returns:
        this factory

    - #### setDispatcherThreads

          GatewaySenderFactory setDispatcherThreads(int numThreads)

      Sets the number of dispatcher thread. Default number of dispatcher threads is 5.
      Parameters:
        `numThreads` - the number of dispatcher threads
      Returns:
        this factory

    - #### setOrderPolicy

          GatewaySenderFactory setOrderPolicy(GatewaySender.OrderPolicy policy)

      Sets `OrderPolicy` for this GatewaySender. Default order policy is KEY.
      Parameters:
        `policy` - the `OrderPolicy` for this GatewaySender
      Returns:
        this factory

    - #### setMaximumQueueMemory

          GatewaySenderFactory setMaximumQueueMemory(int maxQueueMemory)

      Sets the maximum amount of memory (in MB) for a `GatewaySender`'s queue. Default is 100.
      Parameters:
        `maxQueueMemory` - The maximum amount of memory (in MB) for a `GatewaySender`'s queue.
      Returns:
        this factory

    - #### setBatchSize

          GatewaySenderFactory setBatchSize(int size)

      Sets the batch size to be picked at the time of dispatching from a `GatewaySender`'s queue. Default batchSize is 100.
      Parameters:
        `size` - The size of batches sent from a `GatewaySender` to its corresponding `GatewayReceiver`.
      Returns:
        this factory

    - #### setBatchTimeInterval

          GatewaySenderFactory setBatchTimeInterval(int interval)

      Sets a time interval in milliseconds to wait to form a batch to be dispatched from a `GatewaySender`'s queue. Default is 1000.
      Parameters:
        `interval` - The maximum time interval (in milliseconds) that can elapse before a partial batch is sent from a `GatewaySender` to its corresponding `GatewayReceiver`.
      Returns:
        this factory

    - #### setBatchConflationEnabled

          GatewaySenderFactory setBatchConflationEnabled(boolean isConflation)

      Sets whether to enable batch conflation for a `GatewaySender`'s queue. Default is false.
      Parameters:
        `isConflation` - Whether or not to enable batch conflation for batches sent from a `GatewaySender` to its corresponding `GatewayReceiver`.
      Returns:
        this factory

    - #### setPersistenceEnabled

          GatewaySenderFactory setPersistenceEnabled(boolean isPersistence)

      Sets whether to enable persistence for a `GatewaySender`'s queue. Default is false.
      Parameters:
        `isPersistence` - Whether to enable persistence for a `GatewaySender`'s queue
      Returns:
        this factory

    - #### setAlertThreshold

          GatewaySenderFactory setAlertThreshold(int threshold)

      Sets the alert threshold in milliseconds for entries in a `GatewaySender` 's queue. Default value is 0.
      Parameters:
        `threshold` - the alert threshold for entries in a `GatewaySender`'s queue
      Returns:
        this factory

    - #### setManualStart

          @Deprecated
          GatewaySenderFactory setManualStart(boolean start)

      Deprecated. - Manual start of senders is deprecated and will be removed in a later release.
      Sets the manual start boolean property for this `GatewaySender`. Default is false i.e. the `GatewaySender` will automatically start once created.
      Parameters:
        `start` - the manual start boolean property for this `GatewaySender`
      Returns:
        this factory

    - #### setDiskSynchronous

          GatewaySenderFactory setDiskSynchronous(boolean isSynchronous)

      Sets whether or not the writing to the disk is synchronous. Default is true.
      Parameters:
        `isSynchronous` - boolean if true indicates synchronous writes
      Returns:
        this factory

    - #### removeGatewayEventFilter

          GatewaySenderFactory removeGatewayEventFilter(GatewayEventFilter filter)

      Removes the provided `GatewayEventFilter` from this GatewaySender.
      Parameters:
        `filter` - the `GatewayEventFilter` to remove
      Returns:
        this factory

    - #### removeGatewayTransportFilter

          GatewaySenderFactory removeGatewayTransportFilter(GatewayTransportFilter filter)

      Removes the provided `GatewayTransportFilter` from this GatewaySender.
      Parameters:
        `filter` - the `GatewayTransportFilter` to remove
      Returns:
        this factory

    - #### setParallelFactorForReplicatedRegion

          GatewaySenderFactory setParallelFactorForReplicatedRegion(int parallel)

    - #### setGatewayEventSubstitutionFilter

          GatewaySenderFactory setGatewayEventSubstitutionFilter(GatewayEventSubstitutionFilter filter)

      Sets the provided `GatewayEventSubstitutionFilter` in this GatewaySenderFactory.
      Parameters:
        `filter` - The `GatewayEventSubstitutionFilter`
      Returns:
        this factory

    - #### setEnforceThreadsConnectSameReceiver

          GatewaySenderFactory setEnforceThreadsConnectSameReceiver(boolean enforceThreadsConnectSameReceiver)

      If true, receiver member id is checked by all dispatcher threads when the connection is established to ensure they connect to the same receiver. Instead of starting all dispatcher threads in parallel, one thread is started first, and after that the rest are started in parallel. Default is false.
      Parameters:
        `enforceThreadsConnectSameReceiver` - boolean if true threads will verify if they are connected to the same receiver
      Returns:
        this factory

    - #### create

          GatewaySender create(String id,
                               int remoteDSId)

      Creates a `GatewaySender` to communicate with remote distributed system
      Parameters:
        `id` - unique id for this SerialGatewaySender
        `remoteDSId` - unique id representing the remote distributed system
      Returns:
        instance of SerialGatewaySender
      Throws:
        `IllegalStateException` - If the GatewaySender creation fails during validation due to mismatch of attributes of GatewaySender created on other nodes with same id