Interface GatewaySenderFactory


public interface GatewaySenderFactory
Factory to create SerialGatewaySender
Since:
GemFire 7.0
See Also:
  • Method Details

    • 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

      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