GigaSpaces XAP 9.5 API

com.gigaspaces.events
Class EventSessionConfig

java.lang.Object
  extended by com.gigaspaces.events.EventSessionConfig
All Implemented Interfaces:
com.gigaspaces.config.IConfiguration, Serializable

public class EventSessionConfig
extends Object
implements com.gigaspaces.config.IConfiguration

this class is used to configure an EventSession.
it contains a set of configuration parameters that influence the way event listeners are registered with the space
and how event notifications are processed.

there are three different ways to create an EventSessionConfig object:
1. use the empty constructor and set the different parameters using API
2. pass a Properties object to the constructor that contains a list of parameters
according the a list specified below
3. use a preconfigured, named set of parameters. the name is used to load a properties file
that resides in the config/schema directory

the names of the parameters that can be used in the properties object or file are:
comType - specifies the communication protocol: UNICAST / MULTIPLEX / MULTICAST
batchSize - the size of the batch used when sending notifications to the client.
must be used with batchTime
batchTime - the maximum elapsed time between two batch notifications.
must be used with batchSize
reliable - whether the notification process is reliable.
renew - whether to not to automatically renew the lease of the registered listeners.
durable - whether the events are durable.
replicateNotifyTemplate - whether to replicate the registration to other spaces in the cluster triggerNotifyTemplate - whether to send notifications from all spaces in the cluster. guaranteedNotifications - whether to generate notifications that won't be lost during failover.

Since:
6.0
Version:
1.0
Author:
asy ronen
See Also:
EventSession, Serialized Form

Nested Class Summary
static class EventSessionConfig.ComType
           
 
Field Summary
static int DEFAULT_DURABLE_BATCH_PENDING_THRESHOLD
           
static int DEFAULT_DURABLE_BATCH_SIZE
           
static long DEFAULT_DURABLE_BATCH_TIME
           
static long DEFAULT_RENEW_DURATION
           
static long DEFAULT_RENEW_EXPIRATION
           
static long DEFAULT_RENEW_RTT
           
static boolean USE_OLD_GUARANTEED_NOTIFICATIONS
           
 
Constructor Summary
EventSessionConfig()
          creates EventSessionConfig for farther configuration.
EventSessionConfig(Properties props)
          Deprecated. since 9.0 use setters instead
EventSessionConfig(String schemaName)
          Deprecated. since 9.0 use setters instead
 
Method Summary
 int getBatchPendingThreshold()
          return batchPendingThreshold - number of notifications held at server before sending them
 int getBatchSize()
           
 long getBatchTime()
           
 EventSessionConfig.ComType getComType()
          Gets the Communication type that is in use with this config.
 LeaseListener getLeaseListener()
           
 long getRenewDuration()
           
 long getRenewExpiration()
           
 long getRenewRTT()
           
 boolean isAutoRenew()
           
 boolean isBatching()
          Checks if using batch notifications.
 boolean isDurableNotifications()
           
 boolean isFifo()
          Checks if the order that is in use with this config is fifo.
 boolean isGuaranteedNotifications()
           
 Boolean isReplicateNotifyTemplate()
          Should this template be replicated.
 Boolean isTriggerNotifyTemplate()
          Should notify template be triggered on replication event.
 void setAutoRenew(boolean renew, LeaseListener listener)
          enable the auto renew of the notify.
 void setAutoRenew(boolean renew, LeaseListener listener, long renewExpiration, long renewDuration, long renewRTT)
          with this method the user can configure the renew time duration for the auto renew.
 void setBatch(int size, long time)
          set the notifications to come in batches of size.
 void setBatch(int size, long time, int pendingThreshold)
          set the notifications to come in batches of size.
 void setComType(EventSessionConfig.ComType comType)
          Set the Communication type to be used with this config.
 void setDurableNotifications(boolean durable)
          Sets whether to generate notifications that won't be lost during failover and disconnection
 void setFifo(boolean fifo)
          Set fifo order for the notifications.
 void setGuaranteedNotifications(boolean guaranteedNotifications)
          Deprecated. Since 9.0 use setDurableNotifications(boolean) instead.
 void setReplicateNotifyTemplate(boolean replicateNotifyTemplate)
           
 void setTriggerNotifyTemplate(boolean triggerNotifyTemplate)
           
 String toString()
           
 void validate()
          Checks configuration validity
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

USE_OLD_GUARANTEED_NOTIFICATIONS

public static final boolean USE_OLD_GUARANTEED_NOTIFICATIONS

DEFAULT_RENEW_EXPIRATION

public static final long DEFAULT_RENEW_EXPIRATION
See Also:
Constant Field Values

DEFAULT_RENEW_DURATION

public static final long DEFAULT_RENEW_DURATION
See Also:
Constant Field Values

DEFAULT_RENEW_RTT

public static final long DEFAULT_RENEW_RTT
See Also:
Constant Field Values

DEFAULT_DURABLE_BATCH_SIZE

public static final int DEFAULT_DURABLE_BATCH_SIZE
See Also:
Constant Field Values

DEFAULT_DURABLE_BATCH_PENDING_THRESHOLD

public static final int DEFAULT_DURABLE_BATCH_PENDING_THRESHOLD
See Also:
Constant Field Values

DEFAULT_DURABLE_BATCH_TIME

public static final long DEFAULT_DURABLE_BATCH_TIME
See Also:
Constant Field Values
Constructor Detail

EventSessionConfig

public EventSessionConfig()
creates EventSessionConfig for farther configuration.


EventSessionConfig

@Deprecated
public EventSessionConfig(Properties props)
Deprecated. since 9.0 use setters instead

creates EventSessionConfig and start it's configuration from the Properties given. use properties name as keys for the given Properties.

Parameters:
props - - holds the keys and values.

EventSessionConfig

@Deprecated
public EventSessionConfig(String schemaName)
                   throws IOException
Deprecated. since 9.0 use setters instead

creates EventSessionConfig from a loaded file in the given name. the file should be ".properties" in the config folder.

Parameters:
schemaName - - the file name.
Throws:
IOException - - thrown when fail to read from file.
Method Detail

getComType

public EventSessionConfig.ComType getComType()
Gets the Communication type that is in use with this config.

Returns:
the Communication type.

setComType

public void setComType(EventSessionConfig.ComType comType)
Set the Communication type to be used with this config.

Parameters:
comType - - ComType values: UNICAST, MULTIPLEX, MULTICAST.

isFifo

public boolean isFifo()
Checks if the order that is in use with this config is fifo.

Returns:
true if notification comes in fifo order.

setFifo

public void setFifo(boolean fifo)
Set fifo order for the notifications.

Parameters:
fifo - - true when using fifo order.

isBatching

public boolean isBatching()
Checks if using batch notifications.

Returns:
true if notification comes in batches both size>0 and time>0 were set.
See Also:
setBatch(int, long)

setBatch

public void setBatch(int size,
                     long time)
set the notifications to come in batches of size. notification can not be delay more then time ms.

Parameters:
size - - amount of notifications held at server before sending them and the amount of notification in batch.
time - - maximum time to delay notification in not full batch.

setBatch

public void setBatch(int size,
                     long time,
                     int pendingThreshold)
set the notifications to come in batches of size. notification can not be delay more then time ms.

Parameters:
size - - amount of notification in batch.
time - - maximum time to delay notification in not full batch.
pendingThreshold - - amount of notifications held at server before sending them.

getBatchSize

public int getBatchSize()
Returns:
batchSize number of notifications in a batch.

getBatchTime

public long getBatchTime()
Returns:
batchTime - the maximum elapsed time between two batch notifications.

getBatchPendingThreshold

public int getBatchPendingThreshold()
return batchPendingThreshold - number of notifications held at server before sending them


isAutoRenew

public boolean isAutoRenew()

setAutoRenew

public void setAutoRenew(boolean renew,
                         LeaseListener listener)
enable the auto renew of the notify.
use to keep getting events until client fails. same as: setAutoRenew(renew, listener, Lease.FOREVER, 20000, 10000)

Parameters:
renew - - true when autoRenew needed.
listener - for events when renew fails.

setAutoRenew

public void setAutoRenew(boolean renew,
                         LeaseListener listener,
                         long renewExpiration,
                         long renewDuration,
                         long renewRTT)
with this method the user can configure the renew time duration for the auto renew. Using the renewDuration parameter, you define the period of time that passes between the time a client failure occurred, and the time your notifications stop being sent from the space

Parameters:
renew - - true when autoRenew needed.
listener - for events when renew fails.
renewExpiration - the period of time your notifications stop being renewed.
renewDuration - the period of time that passes between client failure, and the time your notifications stop being sent. use more than renewRTT.
renewRTT - - RoundTripTime - the time that takes to reach the server and return. default 10000.

getLeaseListener

public LeaseListener getLeaseListener()
Returns:
the lease listener in case of LRM use. otherwise - returns null.

isDurableNotifications

public boolean isDurableNotifications()
Returns:
whether to generate notifications that won't be lost during failover and disconnection

setDurableNotifications

public void setDurableNotifications(boolean durable)
Sets whether to generate notifications that won't be lost during failover and disconnection

Parameters:
durable -

isTriggerNotifyTemplate

public Boolean isTriggerNotifyTemplate()
Should notify template be triggered on replication event.

Returns:
true if trigger is needed on replication event. null is returned when this value was never set.

setTriggerNotifyTemplate

public void setTriggerNotifyTemplate(boolean triggerNotifyTemplate)
Parameters:
triggerNotifyTemplate -

isReplicateNotifyTemplate

public Boolean isReplicateNotifyTemplate()
Should this template be replicated.

Returns:
true if this template should be replicated. null is returned when this value was not set.

setReplicateNotifyTemplate

public void setReplicateNotifyTemplate(boolean replicateNotifyTemplate)
Parameters:
replicateNotifyTemplate -

getRenewDuration

public long getRenewDuration()
Returns:
the renew Duration.

getRenewExpiration

public long getRenewExpiration()
Returns:
Returns the renewExpiration.

getRenewRTT

public long getRenewRTT()
Returns:
Returns the renewRTT.

isGuaranteedNotifications

public boolean isGuaranteedNotifications()
Returns:
whether to generate notifications that won't be lost during failover

setGuaranteedNotifications

@Deprecated
public void setGuaranteedNotifications(boolean guaranteedNotifications)
Deprecated. Since 9.0 use setDurableNotifications(boolean) instead.

Sets whether to generate notifications that won't be lost during failover

Parameters:
guaranteedNotifications -

validate

public void validate()
Checks configuration validity


toString

public String toString()
Overrides:
toString in class Object

GigaSpaces XAP 9.5 API

Copyright © GigaSpaces.