net.esper.client
Class ConfigurationDBRef

java.lang.Object
  extended by net.esper.client.ConfigurationDBRef

public class ConfigurationDBRef
extends Object

Container for database configuration information, such as options around getting a database connection and options to control the lifecycle of connections and set connection parameters.


Nested Class Summary
static interface ConfigurationDBRef.ConnectionFactoryDesc
          Marker for different connection factory settings.
static class ConfigurationDBRef.ConnectionLifecycleEnum
          Enum controlling connection lifecycle.
 class ConfigurationDBRef.ConnectionSettings
          Supplies connectioon-level settings for a given database name.
static interface ConfigurationDBRef.DataCacheDesc
          Marker for different cache settings.
 class ConfigurationDBRef.DataSourceConnection
          Connection factory settings for using a DataSource.
 class ConfigurationDBRef.DriverManagerConnection
          Connection factory settings for using a DriverManager.
 class ConfigurationDBRef.ExpiryTimeCacheDesc
          Expiring cache settings.
 class ConfigurationDBRef.LRUCacheDesc
          LRU cache settings.
 
Constructor Summary
ConfigurationDBRef()
          Ctor.
 
Method Summary
 ConfigurationDBRef.ConnectionFactoryDesc getConnectionFactoryDesc()
          Returns the descriptor controlling connection creation settings.
 ConfigurationDBRef.ConnectionLifecycleEnum getConnectionLifecycleEnum()
          Returns the setting to control whether a new connection is obtained for each lookup, or connections are retained between lookups.
 ConfigurationDBRef.ConnectionSettings getConnectionSettings()
          Returns the connection settings for this database.
 ConfigurationDBRef.DataCacheDesc getDataCacheDesc()
          Return a query result data cache descriptor.
 void setConnectionAutoCommit(boolean value)
          Sets the auto-commit connection settings for new connections to this database.
 void setConnectionCatalog(String catalog)
          Sets the catalog name for new connections created for this database.
 void setConnectionLifecycleEnum(ConfigurationDBRef.ConnectionLifecycleEnum connectionLifecycleEnum)
          Controls whether a new connection is obtained for each lookup, or connections are retained between lookups.
 void setConnectionReadOnly(boolean isReadOnly)
          Sets the read-only flag on new connections created for this database.
 void setConnectionTransactionIsolation(int value)
          Sets the transaction isolation level on new connections created for this database.
 void setDataSourceConnection(String contextLookupName, Properties environmentProps)
          Sets the connection factory to use DataSource to obtain a connection.
 void setDriverManagerConnection(String className, String url, Properties connectionArgs)
          Sets the connection factory to use DriverManager to obtain a connection.
 void setDriverManagerConnection(String className, String url, String username, String password)
          Sets the connection factory to use DriverManager to obtain a connection.
 void setDriverManagerConnection(String className, String url, String username, String password, Properties connectionArgs)
          Sets the connection factory to use DriverManager to obtain a connection.
 void setExpiryTimeCache(double maxAgeSeconds, double purgeIntervalSeconds)
          Configures an expiry-time cache of the given maximum age in seconds and pruge interval in seconds.
 void setLRUCache(int size)
          Configures a LRU cache of the given size for the database.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConfigurationDBRef

public ConfigurationDBRef()
Ctor.

Method Detail

setDataSourceConnection

public void setDataSourceConnection(String contextLookupName,
                                    Properties environmentProps)
Sets the connection factory to use DataSource to obtain a connection.

Parameters:
contextLookupName - is the object name to look up via InitialContext
environmentProps - are the optional properties to pass to the context

setDriverManagerConnection

public void setDriverManagerConnection(String className,
                                       String url,
                                       Properties connectionArgs)
Sets the connection factory to use DriverManager to obtain a connection.

Parameters:
className - is the driver class name to lookup up via Class.forName
url - is the URL
connectionArgs - are optional connection arguments

setDriverManagerConnection

public void setDriverManagerConnection(String className,
                                       String url,
                                       String username,
                                       String password)
Sets the connection factory to use DriverManager to obtain a connection.

Parameters:
className - is the driver class name to lookup up via Class.forName
url - is the URL
username - is the username to obtain a connection
password - is the password to obtain a connection

setDriverManagerConnection

public void setDriverManagerConnection(String className,
                                       String url,
                                       String username,
                                       String password,
                                       Properties connectionArgs)
Sets the connection factory to use DriverManager to obtain a connection.

Parameters:
className - is the driver class name to lookup up via Class.forName
url - is the URL
username - is the username to obtain a connection
password - is the password to obtain a connection
connectionArgs - are optional connection arguments

setConnectionAutoCommit

public void setConnectionAutoCommit(boolean value)
Sets the auto-commit connection settings for new connections to this database.

Parameters:
value - is true to set auto-commit to true, or false to set auto-commit to false, or null to accepts the default

setConnectionTransactionIsolation

public void setConnectionTransactionIsolation(int value)
Sets the transaction isolation level on new connections created for this database.

Parameters:
value - is the transaction isolation level

setConnectionReadOnly

public void setConnectionReadOnly(boolean isReadOnly)
Sets the read-only flag on new connections created for this database.

Parameters:
isReadOnly - is the read-only flag

setConnectionCatalog

public void setConnectionCatalog(String catalog)
Sets the catalog name for new connections created for this database.

Parameters:
catalog - is the catalog name

getConnectionSettings

public ConfigurationDBRef.ConnectionSettings getConnectionSettings()
Returns the connection settings for this database.

Returns:
connection settings

getConnectionLifecycleEnum

public ConfigurationDBRef.ConnectionLifecycleEnum getConnectionLifecycleEnum()
Returns the setting to control whether a new connection is obtained for each lookup, or connections are retained between lookups.

Returns:
enum controlling connection allocation

setConnectionLifecycleEnum

public void setConnectionLifecycleEnum(ConfigurationDBRef.ConnectionLifecycleEnum connectionLifecycleEnum)
Controls whether a new connection is obtained for each lookup, or connections are retained between lookups.

Parameters:
connectionLifecycleEnum - is an enum controlling connection allocation

getConnectionFactoryDesc

public ConfigurationDBRef.ConnectionFactoryDesc getConnectionFactoryDesc()
Returns the descriptor controlling connection creation settings.

Returns:
connection factory settings

setLRUCache

public void setLRUCache(int size)
Configures a LRU cache of the given size for the database.

Parameters:
size - is the maximum number of entries before query results are evicted using.

setExpiryTimeCache

public void setExpiryTimeCache(double maxAgeSeconds,
                               double purgeIntervalSeconds)
Configures an expiry-time cache of the given maximum age in seconds and pruge interval in seconds.

Parameters:
maxAgeSeconds - is the maximum number of seconds before a query result is considered stale (also known as time-to-live)
purgeIntervalSeconds - is the interval at which the engine purges stale data from the cache

getDataCacheDesc

public ConfigurationDBRef.DataCacheDesc getDataCacheDesc()
Return a query result data cache descriptor.

Returns:
cache descriptor