org.logicalcobwebs.proxool
Class BasicDataSource

java.lang.Object
  extended byorg.logicalcobwebs.proxool.BasicDataSource
All Implemented Interfaces:
javax.sql.DataSource

public class BasicDataSource
extends java.lang.Object
implements javax.sql.DataSource

Basic implementation of DataSource

Since:
Proxool 0.8
Version:
$Revision: 1.3 $, $Date: 2003/08/30 14:54:23 $
Author:
bill, $Author: billhorsman $ (current maintainer)

Field Summary
private  java.lang.String alias
           
private  javax.naming.Context context
           
private  java.lang.String contextFactory
           
private  java.lang.String driver
           
private  java.lang.String fatalSqlExceptionsAsString
          A String of all the fatalSqlExceptions delimited by ConnectionPoolDefinitionIF.FATAL_SQL_EXCEPTIONS_DELIMITER
private  int houseKeepingSleepTime
           
private  java.lang.String houseKeepingTestSql
           
private  java.util.Properties jndiEnvironment
           
private static Log LOG
           
private  int maximumActiveTime
           
private  int maximumConnectionCount
           
private  int maximumConnectionLifetime
           
private  int minimumConnectionCount
           
private  int overloadWithoutRefusalLifetime
           
private  java.lang.String password
           
private  int prototypeCount
           
private  java.lang.String providerUrl
           
private  int recentlyStartedThreshold
           
private  java.lang.String securityAuthentication
           
private  java.lang.String securityCredentials
           
private  java.lang.String securityPrincipal
           
private  int simultaneousBuildThrottle
           
private  java.lang.String statistics
           
private  java.lang.String statisticsLogLevel
           
private  boolean trace
           
private  java.lang.String url
           
private  java.lang.String user
           
private  boolean verbose
           
 
Constructor Summary
BasicDataSource()
           
 
Method Summary
 java.lang.String getAlias()
           
 java.sql.Connection getConnection()
           
 java.sql.Connection getConnection(java.lang.String username, java.lang.String password)
          Use getConnection() instead
 java.lang.String getContextFactory()
           
 java.lang.String getDriver()
           
 java.lang.String getFatalSqlExceptionsAsString()
           
 int getHouseKeepingSleepTime()
           
 java.lang.String getHouseKeepingTestSql()
           
 java.lang.String getJndiEnvironment(java.lang.String key)
          Get the value of jndiEnvironment which is used when instantiating a jndi InitialContext.
 int getLoginTimeout()
          Unsupported operation
 java.io.PrintWriter getLogWriter()
          Unsupported operation
 int getMaximumActiveTime()
           
 int getMaximumConnectionCount()
           
 int getMaximumConnectionLifetime()
           
 int getMinimumConnectionCount()
           
 java.lang.Object getObjectInstance(java.lang.Object refObj, javax.naming.Name name, javax.naming.Context context, java.util.Hashtable env)
          implements ObjectFactory to create an instance of this class
 int getOverloadWithoutRefusalLifetime()
           
 java.lang.String getPassword()
           
 int getPrototypeCount()
           
 java.lang.String getProviderUrl()
           
 int getRecentlyStartedThreshold()
           
 javax.naming.Reference getReference()
          Referenceable implementation prepares object for binding in jndi.
 java.lang.String getSecurityAuthentication()
           
 java.lang.String getSecurityCredentials()
           
 java.lang.String getSecurityPrincipal()
           
 int getSimultaneousBuildThrottle()
           
 java.lang.String getStatistics()
           
 java.lang.String getStatisticsLogLevel()
           
 java.lang.String getUrl()
           
 java.lang.String getUser()
           
 boolean isTrace()
           
 boolean isVerbose()
           
private  void registerPool()
          Register a pool using the properties of this data source.
private  void reset()
          Reset all properties to their default values
private static byte[] serialize(java.io.Serializable obj)
          Converts a object to a byte array for storage/serialization.
 void setAlias(java.lang.String alias)
           
 void setContextFactory(java.lang.String contextFactory)
           
 void setDriver(java.lang.String driver)
           
 void setFatalSqlExceptionsAsString(java.lang.String fatalSqlExceptionsAsString)
           
 void setHouseKeepingSleepTime(int houseKeepingSleepTime)
           
 void setHouseKeepingTestSql(java.lang.String houseKeepingTestSql)
           
 void setJndiEnvironment(java.lang.String key, java.lang.String value)
          Set the value of jndiEnvironment which is used when instantiating a jndi InitialContext.
 void setLoginTimeout(int loginTimeout)
          Unsupported operation
 void setLogWriter(java.io.PrintWriter logWriter)
          Unsupported operation
 void setMaximumActiveTime(int maximumActiveTime)
           
 void setMaximumConnectionCount(int maximumConnectionCount)
           
 void setMaximumConnectionLifetime(int maximumConnectionLifetime)
           
 void setMinimumConnectionCount(int minimumConnectionCount)
           
 void setOverloadWithoutRefusalLifetime(int overloadWithoutRefusalLifetime)
           
 void setPassword(java.lang.String password)
           
 void setPrototypeCount(int prototypeCount)
           
 void setProviderUrl(java.lang.String providerUrl)
           
 void setRecentlyStartedThreshold(int recentlyStartedThreshold)
           
 void setSecurityAuthentication(java.lang.String securityAuthentication)
           
 void setSecurityCredentials(java.lang.String securityCredentials)
           
 void setSecurityPrincipal(java.lang.String securityPrincipal)
           
 void setSimultaneousBuildThrottle(int simultaneousBuildThrottle)
           
 void setStatistics(java.lang.String statistics)
           
 void setStatisticsLogLevel(java.lang.String statisticsLogLevel)
           
 void setTrace(boolean trace)
           
 void setUrl(java.lang.String url)
           
 void setUser(java.lang.String user)
           
 void setVerbose(boolean verbose)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

private static final Log LOG

jndiEnvironment

private java.util.Properties jndiEnvironment

context

private javax.naming.Context context

contextFactory

private java.lang.String contextFactory

providerUrl

private java.lang.String providerUrl

securityAuthentication

private java.lang.String securityAuthentication

securityPrincipal

private java.lang.String securityPrincipal

securityCredentials

private java.lang.String securityCredentials

alias

private java.lang.String alias

url

private java.lang.String url

user

private java.lang.String user

password

private java.lang.String password

driver

private java.lang.String driver

maximumConnectionLifetime

private int maximumConnectionLifetime

prototypeCount

private int prototypeCount

minimumConnectionCount

private int minimumConnectionCount

maximumConnectionCount

private int maximumConnectionCount

houseKeepingSleepTime

private int houseKeepingSleepTime

simultaneousBuildThrottle

private int simultaneousBuildThrottle

recentlyStartedThreshold

private int recentlyStartedThreshold

overloadWithoutRefusalLifetime

private int overloadWithoutRefusalLifetime

maximumActiveTime

private int maximumActiveTime

verbose

private boolean verbose

trace

private boolean trace

statistics

private java.lang.String statistics

statisticsLogLevel

private java.lang.String statisticsLogLevel

fatalSqlExceptionsAsString

private java.lang.String fatalSqlExceptionsAsString
A String of all the fatalSqlExceptions delimited by ConnectionPoolDefinitionIF.FATAL_SQL_EXCEPTIONS_DELIMITER


houseKeepingTestSql

private java.lang.String houseKeepingTestSql
Constructor Detail

BasicDataSource

public BasicDataSource()
Method Detail

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
Specified by:
getConnection in interface javax.sql.DataSource
Throws:
java.sql.SQLException
See Also:
DataSource.getConnection()

registerPool

private void registerPool()
                   throws ProxoolException,
                          javax.naming.NamingException
Register a pool using the properties of this data source. (Check that it exists first)

Throws:
ProxoolException - if the pool couldn't be registered
javax.naming.NamingException

getContextFactory

public java.lang.String getContextFactory()

setContextFactory

public void setContextFactory(java.lang.String contextFactory)

getProviderUrl

public java.lang.String getProviderUrl()

setProviderUrl

public void setProviderUrl(java.lang.String providerUrl)

getSecurityAuthentication

public java.lang.String getSecurityAuthentication()

setSecurityAuthentication

public void setSecurityAuthentication(java.lang.String securityAuthentication)

getSecurityPrincipal

public java.lang.String getSecurityPrincipal()

setSecurityPrincipal

public void setSecurityPrincipal(java.lang.String securityPrincipal)

getSecurityCredentials

public java.lang.String getSecurityCredentials()

setSecurityCredentials

public void setSecurityCredentials(java.lang.String securityCredentials)

getConnection

public java.sql.Connection getConnection(java.lang.String username,
                                         java.lang.String password)
                                  throws java.sql.SQLException
Use getConnection() instead

Specified by:
getConnection in interface javax.sql.DataSource
Throws:
java.sql.SQLException
See Also:
DataSource.getConnection(java.lang.String, java.lang.String)

getLoginTimeout

public int getLoginTimeout()
Unsupported operation

Specified by:
getLoginTimeout in interface javax.sql.DataSource
See Also:
DataSource.getLoginTimeout()

setLoginTimeout

public void setLoginTimeout(int loginTimeout)
Unsupported operation

Specified by:
setLoginTimeout in interface javax.sql.DataSource
See Also:
DataSource.setLoginTimeout(int)

getLogWriter

public java.io.PrintWriter getLogWriter()
Unsupported operation

Specified by:
getLogWriter in interface javax.sql.DataSource
See Also:
DataSource.getLogWriter()

setLogWriter

public void setLogWriter(java.io.PrintWriter logWriter)
Unsupported operation

Specified by:
setLogWriter in interface javax.sql.DataSource
See Also:
DataSource.setLogWriter(java.io.PrintWriter)

getAlias

public java.lang.String getAlias()
See Also:
ConnectionPoolDefinitionIF.getAlias()

setAlias

public void setAlias(java.lang.String alias)
See Also:
ConnectionPoolDefinitionIF.getAlias()

getUrl

public java.lang.String getUrl()
See Also:
ConnectionPoolDefinitionIF.getUrl()

setUrl

public void setUrl(java.lang.String url)
See Also:
ConnectionPoolDefinitionIF.getUrl()

getDriver

public java.lang.String getDriver()
See Also:
ConnectionPoolDefinitionIF.getDriver()

setDriver

public void setDriver(java.lang.String driver)
See Also:
ConnectionPoolDefinitionIF.getDriver()

getMaximumConnectionLifetime

public int getMaximumConnectionLifetime()
See Also:
ConnectionPoolDefinitionIF.getMaximumConnectionLifetime()

setMaximumConnectionLifetime

public void setMaximumConnectionLifetime(int maximumConnectionLifetime)
See Also:
ConnectionPoolDefinitionIF.getMaximumConnectionLifetime()

getPrototypeCount

public int getPrototypeCount()
See Also:
ConnectionPoolDefinitionIF.getPrototypeCount()

setPrototypeCount

public void setPrototypeCount(int prototypeCount)
See Also:
ConnectionPoolDefinitionIF.getPrototypeCount()

getMinimumConnectionCount

public int getMinimumConnectionCount()
See Also:
ConnectionPoolDefinitionIF.getMinimumConnectionCount()

setMinimumConnectionCount

public void setMinimumConnectionCount(int minimumConnectionCount)
See Also:
ConnectionPoolDefinitionIF.getMinimumConnectionCount()

getMaximumConnectionCount

public int getMaximumConnectionCount()
See Also:
ConnectionPoolDefinitionIF.getMaximumConnectionCount()

setMaximumConnectionCount

public void setMaximumConnectionCount(int maximumConnectionCount)
See Also:
ConnectionPoolDefinitionIF.getMaximumConnectionCount()

getHouseKeepingSleepTime

public int getHouseKeepingSleepTime()
See Also:
ConnectionPoolDefinitionIF.getHouseKeepingSleepTime()

setHouseKeepingSleepTime

public void setHouseKeepingSleepTime(int houseKeepingSleepTime)
See Also:
ConnectionPoolDefinitionIF.getHouseKeepingSleepTime()

getSimultaneousBuildThrottle

public int getSimultaneousBuildThrottle()
See Also:
ConnectionPoolDefinitionIF.getSimultaneousBuildThrottle()

setSimultaneousBuildThrottle

public void setSimultaneousBuildThrottle(int simultaneousBuildThrottle)
See Also:
ConnectionPoolDefinitionIF.getSimultaneousBuildThrottle()

getRecentlyStartedThreshold

public int getRecentlyStartedThreshold()
See Also:
ConnectionPoolDefinitionIF.getRecentlyStartedThreshold()

setRecentlyStartedThreshold

public void setRecentlyStartedThreshold(int recentlyStartedThreshold)
See Also:
ConnectionPoolDefinitionIF.getRecentlyStartedThreshold()

getOverloadWithoutRefusalLifetime

public int getOverloadWithoutRefusalLifetime()
See Also:
ConnectionPoolDefinitionIF.getOverloadWithoutRefusalLifetime()

setOverloadWithoutRefusalLifetime

public void setOverloadWithoutRefusalLifetime(int overloadWithoutRefusalLifetime)
See Also:
ConnectionPoolDefinitionIF.getOverloadWithoutRefusalLifetime()

getMaximumActiveTime

public int getMaximumActiveTime()
See Also:
ConnectionPoolDefinitionIF.getMaximumActiveTime()

setMaximumActiveTime

public void setMaximumActiveTime(int maximumActiveTime)
See Also:
ConnectionPoolDefinitionIF.getMaximumActiveTime()

isVerbose

public boolean isVerbose()
See Also:
ConnectionPoolDefinitionIF.isVerbose()

setVerbose

public void setVerbose(boolean verbose)
See Also:
ConnectionPoolDefinitionIF.isVerbose()

isTrace

public boolean isTrace()
See Also:
ConnectionPoolDefinitionIF.isTrace()

setTrace

public void setTrace(boolean trace)
See Also:
ConnectionPoolDefinitionIF.isTrace()

getStatistics

public java.lang.String getStatistics()
See Also:
ConnectionPoolDefinitionIF.getStatistics()

setStatistics

public void setStatistics(java.lang.String statistics)
See Also:
ConnectionPoolDefinitionIF.getStatistics()

getStatisticsLogLevel

public java.lang.String getStatisticsLogLevel()
See Also:
ConnectionPoolDefinitionIF.getStatisticsLogLevel()

setStatisticsLogLevel

public void setStatisticsLogLevel(java.lang.String statisticsLogLevel)
See Also:
ConnectionPoolDefinitionIF.getStatisticsLogLevel()

getFatalSqlExceptionsAsString

public java.lang.String getFatalSqlExceptionsAsString()
See Also:
ConnectionPoolDefinitionIF.getFatalSqlExceptions()

setFatalSqlExceptionsAsString

public void setFatalSqlExceptionsAsString(java.lang.String fatalSqlExceptionsAsString)
See Also:
ConnectionPoolDefinitionIF.getFatalSqlExceptions()

getHouseKeepingTestSql

public java.lang.String getHouseKeepingTestSql()
See Also:
ConnectionPoolDefinitionIF.getHouseKeepingTestSql()

setHouseKeepingTestSql

public void setHouseKeepingTestSql(java.lang.String houseKeepingTestSql)
See Also:
ConnectionPoolDefinitionIF.getHouseKeepingTestSql()

getUser

public java.lang.String getUser()
See Also:
ConnectionPoolDefinitionIF.getUser()

setUser

public void setUser(java.lang.String user)
See Also:
ConnectionPoolDefinitionIF.getUser()

getPassword

public java.lang.String getPassword()
See Also:
ConnectionPoolDefinitionIF.getPassword()

setPassword

public void setPassword(java.lang.String password)
See Also:
ConnectionPoolDefinitionIF.getPassword()

reset

private void reset()
Reset all properties to their default values


getReference

public javax.naming.Reference getReference()
                                    throws javax.naming.NamingException
Referenceable implementation prepares object for binding in jndi.

Throws:
javax.naming.NamingException

getObjectInstance

public java.lang.Object getObjectInstance(java.lang.Object refObj,
                                          javax.naming.Name name,
                                          javax.naming.Context context,
                                          java.util.Hashtable env)
                                   throws java.lang.Exception
implements ObjectFactory to create an instance of this class

Throws:
java.lang.Exception

getJndiEnvironment

public java.lang.String getJndiEnvironment(java.lang.String key)
Get the value of jndiEnvironment which is used when instantiating a jndi InitialContext. This InitialContext is used to locate the backend ConnectionPoolDataSource.

Returns:
value of jndiEnvironment.

setJndiEnvironment

public void setJndiEnvironment(java.lang.String key,
                               java.lang.String value)
Set the value of jndiEnvironment which is used when instantiating a jndi InitialContext. This InitialContext is used to locate the backend ConnectionPoolDataSource.

Parameters:
key - property key
value - to assign to jndiEnvironment.

serialize

private static byte[] serialize(java.io.Serializable obj)
                         throws java.io.IOException
Converts a object to a byte array for storage/serialization.

Parameters:
obj - The Serializable to convert.
Returns:
A byte[] with the converted Serializable.
Throws:
java.io.IOException - if conversion to a byte[] fails.