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.

Since:
6.0
See Also:
EventSession, Serialized Form

Nested Class Summary
static class EventSessionConfig.ComType
           
 
Constructor Summary
EventSessionConfig()
          creates EventSessionConfig for ferther configuretion.
EventSessionConfig(Properties props)
          creates EventSessionConfig and start it's configuration from the Properties given.
EventSessionConfig(String schemaName)
          creates EventSessionConfig from a loaded file in the given name.
 
Method Summary
 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 isFifo()
          Checks if the order that is in use with this config is fifo.
 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 setComType(EventSessionConfig.ComType comType)
          Set the Communication type to be used with this config.
 void setFifo(boolean fifo)
          Set fifo order for the notifications.
 void setReplicateNotifyTemplate(boolean replicateNotifyTemplate)
           
 void setTriggerNotifyTemplate(boolean triggerNotifyTemplate)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EventSessionConfig

public EventSessionConfig()
creates EventSessionConfig for ferther configuretion.


EventSessionConfig

public EventSessionConfig(Properties props)
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

public EventSessionConfig(String schemaName)
                   throws IOException
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 notification in batch.
time - - maximum time to delay notification in not full batch.

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.

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 time your notifications stop being sent.
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.

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.