Package org.apache.geode.cache.wan
Interface GatewaySenderFactory
public interface GatewaySenderFactory
Factory to create SerialGatewaySender
- Since:
- GemFire 7.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionAdds aGatewayEventFilterAdds aGatewayTransportFilterCreates aGatewaySenderto communicate with remote distributed systemRemoves the providedGatewayEventFilterfrom this GatewaySender.Removes the providedGatewayTransportFilterfrom this GatewaySender.setAlertThreshold(int threshold) Sets the alert threshold in milliseconds for entries in aGatewaySender's queue.setBatchConflationEnabled(boolean isConflation) Sets whether to enable batch conflation for aGatewaySender's queue.setBatchSize(int size) Sets the batch size to be picked at the time of dispatching from aGatewaySender's queue.setBatchTimeInterval(int interval) Sets a time interval in milliseconds to wait to form a batch to be dispatched from aGatewaySender's queue.setDiskStoreName(String name) Sets the disk store name for overflow or persistencesetDiskSynchronous(boolean isSynchronous) Sets whether or not the writing to the disk is synchronous.setDispatcherThreads(int numThreads) Sets the number of dispatcher thread.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.Sets the providedGatewayEventSubstitutionFilterin this GatewaySenderFactory.setGroupTransactionEvents(boolean groupTransactionEvents) Indicates whether events belonging to the same transaction must be delivered inside the same batch, i.e.setManualStart(boolean start) Deprecated.- Manual start of senders is deprecated and will be removed in a later release.setMaximumQueueMemory(int maxQueueMemory) Sets the maximum amount of memory (in MB) for aGatewaySender's queue.SetsOrderPolicyfor this GatewaySender.setParallel(boolean isParallel) Indicates whether all VMs need to distribute events to remote site.setParallelFactorForReplicatedRegion(int parallel) setPersistenceEnabled(boolean isPersistence) Sets whether to enable persistence for aGatewaySender's queue.setSocketBufferSize(int size) Sets the buffer size in bytes of the socket connection for thisGatewaySender.setSocketReadTimeout(int timeout) Sets the number of milliseconds to wait for a response from aGatewayReceiverbefore timing out the operation and trying anotherGatewayReceiver(if any are available).
-
Method Details
-
setParallel
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
Indicates whether events belonging to the same transaction must be delivered inside the same batch, i.e. they cannot be spread across different batches.groupTransactionEventscan 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
Adds aGatewayEventFilter- Parameters:
filter- GatewayEventFilter- Returns:
- this factory
-
addGatewayTransportFilter
Adds aGatewayTransportFilter- Parameters:
filter- GatewayTransportFilter- Returns:
- this factory
-
setSocketBufferSize
Sets the buffer size in bytes of the socket connection for thisGatewaySender. The default is 32768 bytes.- Parameters:
size- The size in bytes of the socket buffer- Returns:
- this factory
-
setSocketReadTimeout
Sets the number of milliseconds to wait for a response from aGatewayReceiverbefore timing out the operation and trying anotherGatewayReceiver(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- iftimeoutis less than0.
-
setDiskStoreName
Sets the disk store name for overflow or persistence- Parameters:
name- the disk store name for overflow or persistence- Returns:
- this factory
-
setDispatcherThreads
Sets the number of dispatcher thread. Default number of dispatcher threads is 5.- Parameters:
numThreads- the number of dispatcher threads- Returns:
- this factory
-
setOrderPolicy
SetsOrderPolicyfor this GatewaySender. Default order policy is KEY.- Parameters:
policy- theOrderPolicyfor this GatewaySender- Returns:
- this factory
-
setMaximumQueueMemory
Sets the maximum amount of memory (in MB) for aGatewaySender's queue. Default is 100.- Parameters:
maxQueueMemory- The maximum amount of memory (in MB) for aGatewaySender's queue.- Returns:
- this factory
-
setBatchSize
Sets the batch size to be picked at the time of dispatching from aGatewaySender's queue. Default batchSize is 100.- Parameters:
size- The size of batches sent from aGatewaySenderto its correspondingGatewayReceiver.- Returns:
- this factory
-
setBatchTimeInterval
Sets a time interval in milliseconds to wait to form a batch to be dispatched from aGatewaySender's queue. Default is 1000.- Parameters:
interval- The maximum time interval (in milliseconds) that can elapse before a partial batch is sent from aGatewaySenderto its correspondingGatewayReceiver.- Returns:
- this factory
-
setBatchConflationEnabled
Sets whether to enable batch conflation for aGatewaySender's queue. Default is false.- Parameters:
isConflation- Whether or not to enable batch conflation for batches sent from aGatewaySenderto its correspondingGatewayReceiver.- Returns:
- this factory
-
setPersistenceEnabled
Sets whether to enable persistence for aGatewaySender's queue. Default is false.- Parameters:
isPersistence- Whether to enable persistence for aGatewaySender's queue- Returns:
- this factory
-
setAlertThreshold
Sets the alert threshold in milliseconds for entries in aGatewaySender's queue. Default value is 0.- Parameters:
threshold- the alert threshold for entries in aGatewaySender's queue- Returns:
- this factory
-
setManualStart
Deprecated.- Manual start of senders is deprecated and will be removed in a later release.Sets the manual start boolean property for thisGatewaySender. Default is false i.e. theGatewaySenderwill automatically start once created.- Parameters:
start- the manual start boolean property for thisGatewaySender- Returns:
- this factory
-
setDiskSynchronous
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
Removes the providedGatewayEventFilterfrom this GatewaySender.- Parameters:
filter- theGatewayEventFilterto remove- Returns:
- this factory
-
removeGatewayTransportFilter
Removes the providedGatewayTransportFilterfrom this GatewaySender.- Parameters:
filter- theGatewayTransportFilterto remove- Returns:
- this factory
-
setParallelFactorForReplicatedRegion
-
setGatewayEventSubstitutionFilter
Sets the providedGatewayEventSubstitutionFilterin this GatewaySenderFactory.- Parameters:
filter- TheGatewayEventSubstitutionFilter- 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
Creates aGatewaySenderto communicate with remote distributed system- Parameters:
id- unique id for this SerialGatewaySenderremoteDSId- 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
-