Package org.apache.tomcat.jdbc.pool
Class DataSourceFactory
- java.lang.Object
-
- org.apache.tomcat.jdbc.pool.DataSourceFactory
-
- All Implemented Interfaces:
ObjectFactory
public class DataSourceFactory extends Object implements ObjectFactory
JNDI object factory that creates an instance of
BasicDataSource
that has been configured based on theRefAddr
values of the specifiedReference
, which must match the names and data types of theBasicDataSource
bean properties.
Properties available for configuration:
Commons DBCP properties
- initSQL - A query that gets executed once, right after the connection is established.
- testOnConnect - run validationQuery after connection has been established.
- validationInterval - avoid excess validation, only run validation at most at this frequency - time in milliseconds.
- jdbcInterceptors - a semicolon separated list of classnames extending
JdbcInterceptor
class. - jmxEnabled - true of false, whether to register the pool with JMX.
- fairQueue - true of false, whether the pool should sacrifice a little bit of performance for true fairness.
- Author:
- Craig R. McClanahan, Dirk Verbeeck
-
-
Field Summary
-
Constructor Summary
Constructors Constructor Description DataSourceFactory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DataSource
createDataSource(Properties properties)
Creates and configures aDataSource
instance based on the given properties.DataSource
createDataSource(Properties properties, Context context, boolean XA)
Object
getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment)
Create and return a newBasicDataSource
instance.protected static Properties
getProperties(String propText)
Parse properties from the string.static PoolConfiguration
parsePoolProperties(Properties properties)
void
performJNDILookup(Context context, PoolConfiguration poolProperties)
-
-
-
Field Detail
-
PROP_DEFAULTAUTOCOMMIT
protected static final String PROP_DEFAULTAUTOCOMMIT
- See Also:
- Constant Field Values
-
PROP_DEFAULTREADONLY
protected static final String PROP_DEFAULTREADONLY
- See Also:
- Constant Field Values
-
PROP_DEFAULTTRANSACTIONISOLATION
protected static final String PROP_DEFAULTTRANSACTIONISOLATION
- See Also:
- Constant Field Values
-
PROP_DEFAULTCATALOG
protected static final String PROP_DEFAULTCATALOG
- See Also:
- Constant Field Values
-
PROP_DRIVERCLASSNAME
protected static final String PROP_DRIVERCLASSNAME
- See Also:
- Constant Field Values
-
PROP_PASSWORD
protected static final String PROP_PASSWORD
- See Also:
- Constant Field Values
-
PROP_URL
protected static final String PROP_URL
- See Also:
- Constant Field Values
-
PROP_USERNAME
protected static final String PROP_USERNAME
- See Also:
- Constant Field Values
-
PROP_MAXACTIVE
protected static final String PROP_MAXACTIVE
- See Also:
- Constant Field Values
-
PROP_MAXIDLE
protected static final String PROP_MAXIDLE
- See Also:
- Constant Field Values
-
PROP_MINIDLE
protected static final String PROP_MINIDLE
- See Also:
- Constant Field Values
-
PROP_INITIALSIZE
protected static final String PROP_INITIALSIZE
- See Also:
- Constant Field Values
-
PROP_MAXWAIT
protected static final String PROP_MAXWAIT
- See Also:
- Constant Field Values
-
PROP_MAXAGE
protected static final String PROP_MAXAGE
- See Also:
- Constant Field Values
-
PROP_TESTONBORROW
protected static final String PROP_TESTONBORROW
- See Also:
- Constant Field Values
-
PROP_TESTONRETURN
protected static final String PROP_TESTONRETURN
- See Also:
- Constant Field Values
-
PROP_TESTWHILEIDLE
protected static final String PROP_TESTWHILEIDLE
- See Also:
- Constant Field Values
-
PROP_TESTONCONNECT
protected static final String PROP_TESTONCONNECT
- See Also:
- Constant Field Values
-
PROP_VALIDATIONQUERY
protected static final String PROP_VALIDATIONQUERY
- See Also:
- Constant Field Values
-
PROP_VALIDATIONQUERY_TIMEOUT
protected static final String PROP_VALIDATIONQUERY_TIMEOUT
- See Also:
- Constant Field Values
-
PROP_VALIDATOR_CLASS_NAME
protected static final String PROP_VALIDATOR_CLASS_NAME
- See Also:
- Constant Field Values
-
PROP_NUMTESTSPEREVICTIONRUN
protected static final String PROP_NUMTESTSPEREVICTIONRUN
- See Also:
- Constant Field Values
-
PROP_TIMEBETWEENEVICTIONRUNSMILLIS
protected static final String PROP_TIMEBETWEENEVICTIONRUNSMILLIS
- See Also:
- Constant Field Values
-
PROP_MINEVICTABLEIDLETIMEMILLIS
protected static final String PROP_MINEVICTABLEIDLETIMEMILLIS
- See Also:
- Constant Field Values
-
PROP_ACCESSTOUNDERLYINGCONNECTIONALLOWED
protected static final String PROP_ACCESSTOUNDERLYINGCONNECTIONALLOWED
- See Also:
- Constant Field Values
-
PROP_REMOVEABANDONED
protected static final String PROP_REMOVEABANDONED
- See Also:
- Constant Field Values
-
PROP_REMOVEABANDONEDTIMEOUT
protected static final String PROP_REMOVEABANDONEDTIMEOUT
- See Also:
- Constant Field Values
-
PROP_LOGABANDONED
protected static final String PROP_LOGABANDONED
- See Also:
- Constant Field Values
-
PROP_ABANDONWHENPERCENTAGEFULL
protected static final String PROP_ABANDONWHENPERCENTAGEFULL
- See Also:
- Constant Field Values
-
PROP_POOLPREPAREDSTATEMENTS
protected static final String PROP_POOLPREPAREDSTATEMENTS
- See Also:
- Constant Field Values
-
PROP_MAXOPENPREPAREDSTATEMENTS
protected static final String PROP_MAXOPENPREPAREDSTATEMENTS
- See Also:
- Constant Field Values
-
PROP_CONNECTIONPROPERTIES
protected static final String PROP_CONNECTIONPROPERTIES
- See Also:
- Constant Field Values
-
PROP_INITSQL
protected static final String PROP_INITSQL
- See Also:
- Constant Field Values
-
PROP_INTERCEPTORS
protected static final String PROP_INTERCEPTORS
- See Also:
- Constant Field Values
-
PROP_VALIDATIONINTERVAL
protected static final String PROP_VALIDATIONINTERVAL
- See Also:
- Constant Field Values
-
PROP_JMX_ENABLED
protected static final String PROP_JMX_ENABLED
- See Also:
- Constant Field Values
-
PROP_FAIR_QUEUE
protected static final String PROP_FAIR_QUEUE
- See Also:
- Constant Field Values
-
PROP_USE_EQUALS
protected static final String PROP_USE_EQUALS
- See Also:
- Constant Field Values
-
PROP_USE_CON_LOCK
protected static final String PROP_USE_CON_LOCK
- See Also:
- Constant Field Values
-
PROP_DATASOURCE
protected static final String PROP_DATASOURCE
- See Also:
- Constant Field Values
-
PROP_DATASOURCE_JNDI
protected static final String PROP_DATASOURCE_JNDI
- See Also:
- Constant Field Values
-
PROP_SUSPECT_TIMEOUT
protected static final String PROP_SUSPECT_TIMEOUT
- See Also:
- Constant Field Values
-
PROP_ALTERNATE_USERNAME_ALLOWED
protected static final String PROP_ALTERNATE_USERNAME_ALLOWED
- See Also:
- Constant Field Values
-
PROP_COMMITONRETURN
protected static final String PROP_COMMITONRETURN
- See Also:
- Constant Field Values
-
PROP_ROLLBACKONRETURN
protected static final String PROP_ROLLBACKONRETURN
- See Also:
- Constant Field Values
-
PROP_USEDISPOSABLECONNECTIONFACADE
protected static final String PROP_USEDISPOSABLECONNECTIONFACADE
- See Also:
- Constant Field Values
-
PROP_LOGVALIDATIONERRORS
protected static final String PROP_LOGVALIDATIONERRORS
- See Also:
- Constant Field Values
-
PROP_PROPAGATEINTERRUPTSTATE
protected static final String PROP_PROPAGATEINTERRUPTSTATE
- See Also:
- Constant Field Values
-
PROP_IGNOREEXCEPTIONONPRELOAD
protected static final String PROP_IGNOREEXCEPTIONONPRELOAD
- See Also:
- Constant Field Values
-
PROP_USESTATEMENTFACADE
protected static final String PROP_USESTATEMENTFACADE
- See Also:
- Constant Field Values
-
UNKNOWN_TRANSACTIONISOLATION
public static final int UNKNOWN_TRANSACTIONISOLATION
- See Also:
- Constant Field Values
-
OBJECT_NAME
public static final String OBJECT_NAME
- See Also:
- Constant Field Values
-
ALL_PROPERTIES
protected static final String[] ALL_PROPERTIES
-
-
Method Detail
-
getObjectInstance
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment) throws Exception
Create and return a new
BasicDataSource
instance. If no instance can be created, returnnull
instead.- Specified by:
getObjectInstance
in interfaceObjectFactory
- Parameters:
obj
- The possibly null object containing location or reference information that can be used in creating an objectname
- The name of this object relative tonameCtx
nameCtx
- The context relative to which thename
parameter is specified, ornull
ifname
is relative to the default initial contextenvironment
- The possibly null environment that is used in creating this object- Throws:
Exception
- if an exception occurs creating the instance
-
parsePoolProperties
public static PoolConfiguration parsePoolProperties(Properties properties)
-
createDataSource
public DataSource createDataSource(Properties properties) throws Exception
Creates and configures aDataSource
instance based on the given properties.- Parameters:
properties
- the datasource configuration properties- Returns:
- the datasource
- Throws:
Exception
- if an error occurs creating the data source
-
createDataSource
public DataSource createDataSource(Properties properties, Context context, boolean XA) throws Exception
- Throws:
Exception
-
performJNDILookup
public void performJNDILookup(Context context, PoolConfiguration poolProperties)
-
getProperties
protected static Properties getProperties(String propText)
Parse properties from the string. Format of the string must be [propertyName=property;]*.- Parameters:
propText
- The properties string- Returns:
- the properties
-
-