Package org.apache.tomcat.jdbc.pool
Class DataSourceFactory
- java.lang.Object
- 
- org.apache.tomcat.jdbc.pool.DataSourceFactory
 
- 
- All Implemented Interfaces:
- javax.naming.spi.ObjectFactory
 
 public class DataSourceFactory extends java.lang.Object implements javax.naming.spi.ObjectFactoryJNDI object factory that creates an instance of BasicDataSourcethat has been configured based on theRefAddrvalues of the specifiedReference, which must match the names and data types of theBasicDataSourcebean 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 JdbcInterceptorclass.
- 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 SummaryFields Modifier and Type Field Description protected static java.lang.String[]ALL_PROPERTIESstatic java.lang.StringOBJECT_NAMEprotected static java.lang.StringPROP_ABANDONWHENPERCENTAGEFULLprotected static java.lang.StringPROP_ACCESSTOUNDERLYINGCONNECTIONALLOWEDprotected static java.lang.StringPROP_ALTERNATE_USERNAME_ALLOWEDprotected static java.lang.StringPROP_COMMITONRETURNprotected static java.lang.StringPROP_CONNECTIONPROPERTIESprotected static java.lang.StringPROP_DATASOURCEprotected static java.lang.StringPROP_DATASOURCE_JNDIprotected static java.lang.StringPROP_DEFAULTAUTOCOMMITprotected static java.lang.StringPROP_DEFAULTCATALOGprotected static java.lang.StringPROP_DEFAULTREADONLYprotected static java.lang.StringPROP_DEFAULTTRANSACTIONISOLATIONprotected static java.lang.StringPROP_DRIVERCLASSNAMEprotected static java.lang.StringPROP_FAIR_QUEUEprotected static java.lang.StringPROP_IGNOREEXCEPTIONONPRELOADprotected static java.lang.StringPROP_INITIALSIZEprotected static java.lang.StringPROP_INITSQLprotected static java.lang.StringPROP_INTERCEPTORSprotected static java.lang.StringPROP_JMX_ENABLEDprotected static java.lang.StringPROP_LOGABANDONEDprotected static java.lang.StringPROP_LOGVALIDATIONERRORSprotected static java.lang.StringPROP_MAXACTIVEprotected static java.lang.StringPROP_MAXAGEprotected static java.lang.StringPROP_MAXIDLEprotected static java.lang.StringPROP_MAXOPENPREPAREDSTATEMENTSprotected static java.lang.StringPROP_MAXWAITprotected static java.lang.StringPROP_MINEVICTABLEIDLETIMEMILLISprotected static java.lang.StringPROP_MINIDLEprotected static java.lang.StringPROP_NUMTESTSPEREVICTIONRUNprotected static java.lang.StringPROP_PASSWORDprotected static java.lang.StringPROP_POOLPREPAREDSTATEMENTSprotected static java.lang.StringPROP_PROPAGATEINTERRUPTSTATEprotected static java.lang.StringPROP_REMOVEABANDONEDprotected static java.lang.StringPROP_REMOVEABANDONEDTIMEOUTprotected static java.lang.StringPROP_ROLLBACKONRETURNprotected static java.lang.StringPROP_SUSPECT_TIMEOUTprotected static java.lang.StringPROP_TESTONBORROWprotected static java.lang.StringPROP_TESTONCONNECTprotected static java.lang.StringPROP_TESTONRETURNprotected static java.lang.StringPROP_TESTWHILEIDLEprotected static java.lang.StringPROP_TIMEBETWEENEVICTIONRUNSMILLISprotected static java.lang.StringPROP_URLprotected static java.lang.StringPROP_USE_CON_LOCKprotected static java.lang.StringPROP_USE_EQUALSprotected static java.lang.StringPROP_USEDISPOSABLECONNECTIONFACADEprotected static java.lang.StringPROP_USERNAMEprotected static java.lang.StringPROP_USESTATEMENTFACADEprotected static java.lang.StringPROP_VALIDATIONINTERVALprotected static java.lang.StringPROP_VALIDATIONQUERYprotected static java.lang.StringPROP_VALIDATIONQUERY_TIMEOUTprotected static java.lang.StringPROP_VALIDATOR_CLASS_NAMEstatic intUNKNOWN_TRANSACTIONISOLATION
 - 
Constructor SummaryConstructors Constructor Description DataSourceFactory()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.sql.DataSourcecreateDataSource(java.util.Properties properties)Creates and configures aDataSourceinstance based on the given properties.javax.sql.DataSourcecreateDataSource(java.util.Properties properties, javax.naming.Context context, boolean XA)java.lang.ObjectgetObjectInstance(java.lang.Object obj, javax.naming.Name name, javax.naming.Context nameCtx, java.util.Hashtable<?,?> environment)Create and return a newBasicDataSourceinstance.protected static java.util.PropertiesgetProperties(java.lang.String propText)Parse properties from the string.static PoolConfigurationparsePoolProperties(java.util.Properties properties)voidperformJNDILookup(javax.naming.Context context, PoolConfiguration poolProperties)
 
- 
- 
- 
Field Detail- 
PROP_DEFAULTAUTOCOMMITprotected static final java.lang.String PROP_DEFAULTAUTOCOMMIT - See Also:
- Constant Field Values
 
 - 
PROP_DEFAULTREADONLYprotected static final java.lang.String PROP_DEFAULTREADONLY - See Also:
- Constant Field Values
 
 - 
PROP_DEFAULTTRANSACTIONISOLATIONprotected static final java.lang.String PROP_DEFAULTTRANSACTIONISOLATION - See Also:
- Constant Field Values
 
 - 
PROP_DEFAULTCATALOGprotected static final java.lang.String PROP_DEFAULTCATALOG - See Also:
- Constant Field Values
 
 - 
PROP_DRIVERCLASSNAMEprotected static final java.lang.String PROP_DRIVERCLASSNAME - See Also:
- Constant Field Values
 
 - 
PROP_PASSWORDprotected static final java.lang.String PROP_PASSWORD - See Also:
- Constant Field Values
 
 - 
PROP_URLprotected static final java.lang.String PROP_URL - See Also:
- Constant Field Values
 
 - 
PROP_USERNAMEprotected static final java.lang.String PROP_USERNAME - See Also:
- Constant Field Values
 
 - 
PROP_MAXACTIVEprotected static final java.lang.String PROP_MAXACTIVE - See Also:
- Constant Field Values
 
 - 
PROP_MAXIDLEprotected static final java.lang.String PROP_MAXIDLE - See Also:
- Constant Field Values
 
 - 
PROP_MINIDLEprotected static final java.lang.String PROP_MINIDLE - See Also:
- Constant Field Values
 
 - 
PROP_INITIALSIZEprotected static final java.lang.String PROP_INITIALSIZE - See Also:
- Constant Field Values
 
 - 
PROP_MAXWAITprotected static final java.lang.String PROP_MAXWAIT - See Also:
- Constant Field Values
 
 - 
PROP_MAXAGEprotected static final java.lang.String PROP_MAXAGE - See Also:
- Constant Field Values
 
 - 
PROP_TESTONBORROWprotected static final java.lang.String PROP_TESTONBORROW - See Also:
- Constant Field Values
 
 - 
PROP_TESTONRETURNprotected static final java.lang.String PROP_TESTONRETURN - See Also:
- Constant Field Values
 
 - 
PROP_TESTWHILEIDLEprotected static final java.lang.String PROP_TESTWHILEIDLE - See Also:
- Constant Field Values
 
 - 
PROP_TESTONCONNECTprotected static final java.lang.String PROP_TESTONCONNECT - See Also:
- Constant Field Values
 
 - 
PROP_VALIDATIONQUERYprotected static final java.lang.String PROP_VALIDATIONQUERY - See Also:
- Constant Field Values
 
 - 
PROP_VALIDATIONQUERY_TIMEOUTprotected static final java.lang.String PROP_VALIDATIONQUERY_TIMEOUT - See Also:
- Constant Field Values
 
 - 
PROP_VALIDATOR_CLASS_NAMEprotected static final java.lang.String PROP_VALIDATOR_CLASS_NAME - See Also:
- Constant Field Values
 
 - 
PROP_NUMTESTSPEREVICTIONRUNprotected static final java.lang.String PROP_NUMTESTSPEREVICTIONRUN - See Also:
- Constant Field Values
 
 - 
PROP_TIMEBETWEENEVICTIONRUNSMILLISprotected static final java.lang.String PROP_TIMEBETWEENEVICTIONRUNSMILLIS - See Also:
- Constant Field Values
 
 - 
PROP_MINEVICTABLEIDLETIMEMILLISprotected static final java.lang.String PROP_MINEVICTABLEIDLETIMEMILLIS - See Also:
- Constant Field Values
 
 - 
PROP_ACCESSTOUNDERLYINGCONNECTIONALLOWEDprotected static final java.lang.String PROP_ACCESSTOUNDERLYINGCONNECTIONALLOWED - See Also:
- Constant Field Values
 
 - 
PROP_REMOVEABANDONEDprotected static final java.lang.String PROP_REMOVEABANDONED - See Also:
- Constant Field Values
 
 - 
PROP_REMOVEABANDONEDTIMEOUTprotected static final java.lang.String PROP_REMOVEABANDONEDTIMEOUT - See Also:
- Constant Field Values
 
 - 
PROP_LOGABANDONEDprotected static final java.lang.String PROP_LOGABANDONED - See Also:
- Constant Field Values
 
 - 
PROP_ABANDONWHENPERCENTAGEFULLprotected static final java.lang.String PROP_ABANDONWHENPERCENTAGEFULL - See Also:
- Constant Field Values
 
 - 
PROP_POOLPREPAREDSTATEMENTSprotected static final java.lang.String PROP_POOLPREPAREDSTATEMENTS - See Also:
- Constant Field Values
 
 - 
PROP_MAXOPENPREPAREDSTATEMENTSprotected static final java.lang.String PROP_MAXOPENPREPAREDSTATEMENTS - See Also:
- Constant Field Values
 
 - 
PROP_CONNECTIONPROPERTIESprotected static final java.lang.String PROP_CONNECTIONPROPERTIES - See Also:
- Constant Field Values
 
 - 
PROP_INITSQLprotected static final java.lang.String PROP_INITSQL - See Also:
- Constant Field Values
 
 - 
PROP_INTERCEPTORSprotected static final java.lang.String PROP_INTERCEPTORS - See Also:
- Constant Field Values
 
 - 
PROP_VALIDATIONINTERVALprotected static final java.lang.String PROP_VALIDATIONINTERVAL - See Also:
- Constant Field Values
 
 - 
PROP_JMX_ENABLEDprotected static final java.lang.String PROP_JMX_ENABLED - See Also:
- Constant Field Values
 
 - 
PROP_FAIR_QUEUEprotected static final java.lang.String PROP_FAIR_QUEUE - See Also:
- Constant Field Values
 
 - 
PROP_USE_EQUALSprotected static final java.lang.String PROP_USE_EQUALS - See Also:
- Constant Field Values
 
 - 
PROP_USE_CON_LOCKprotected static final java.lang.String PROP_USE_CON_LOCK - See Also:
- Constant Field Values
 
 - 
PROP_DATASOURCEprotected static final java.lang.String PROP_DATASOURCE - See Also:
- Constant Field Values
 
 - 
PROP_DATASOURCE_JNDIprotected static final java.lang.String PROP_DATASOURCE_JNDI - See Also:
- Constant Field Values
 
 - 
PROP_SUSPECT_TIMEOUTprotected static final java.lang.String PROP_SUSPECT_TIMEOUT - See Also:
- Constant Field Values
 
 - 
PROP_ALTERNATE_USERNAME_ALLOWEDprotected static final java.lang.String PROP_ALTERNATE_USERNAME_ALLOWED - See Also:
- Constant Field Values
 
 - 
PROP_COMMITONRETURNprotected static final java.lang.String PROP_COMMITONRETURN - See Also:
- Constant Field Values
 
 - 
PROP_ROLLBACKONRETURNprotected static final java.lang.String PROP_ROLLBACKONRETURN - See Also:
- Constant Field Values
 
 - 
PROP_USEDISPOSABLECONNECTIONFACADEprotected static final java.lang.String PROP_USEDISPOSABLECONNECTIONFACADE - See Also:
- Constant Field Values
 
 - 
PROP_LOGVALIDATIONERRORSprotected static final java.lang.String PROP_LOGVALIDATIONERRORS - See Also:
- Constant Field Values
 
 - 
PROP_PROPAGATEINTERRUPTSTATEprotected static final java.lang.String PROP_PROPAGATEINTERRUPTSTATE - See Also:
- Constant Field Values
 
 - 
PROP_IGNOREEXCEPTIONONPRELOADprotected static final java.lang.String PROP_IGNOREEXCEPTIONONPRELOAD - See Also:
- Constant Field Values
 
 - 
PROP_USESTATEMENTFACADEprotected static final java.lang.String PROP_USESTATEMENTFACADE - See Also:
- Constant Field Values
 
 - 
UNKNOWN_TRANSACTIONISOLATIONpublic static final int UNKNOWN_TRANSACTIONISOLATION - See Also:
- Constant Field Values
 
 - 
OBJECT_NAMEpublic static final java.lang.String OBJECT_NAME - See Also:
- Constant Field Values
 
 - 
ALL_PROPERTIESprotected static final java.lang.String[] ALL_PROPERTIES 
 
- 
 - 
Method Detail- 
getObjectInstancepublic java.lang.Object getObjectInstance(java.lang.Object obj, javax.naming.Name name, javax.naming.Context nameCtx, java.util.Hashtable<?,?> environment) throws java.lang.ExceptionCreate and return a new BasicDataSourceinstance. If no instance can be created, returnnullinstead.- Specified by:
- getObjectInstancein interface- javax.naming.spi.ObjectFactory
- Parameters:
- obj- The possibly null object containing location or reference information that can be used in creating an object
- name- The name of this object relative to- nameCtx
- nameCtx- The context relative to which the- nameparameter is specified, or- nullif- nameis relative to the default initial context
- environment- The possibly null environment that is used in creating this object
- Throws:
- java.lang.Exception- if an exception occurs creating the instance
 
 - 
parsePoolPropertiespublic static PoolConfiguration parsePoolProperties(java.util.Properties properties) 
 - 
createDataSourcepublic javax.sql.DataSource createDataSource(java.util.Properties properties) throws java.lang.ExceptionCreates and configures aDataSourceinstance based on the given properties.- Parameters:
- properties- the datasource configuration properties
- Returns:
- the datasource
- Throws:
- java.lang.Exception- if an error occurs creating the data source
 
 - 
createDataSourcepublic javax.sql.DataSource createDataSource(java.util.Properties properties, javax.naming.Context context, boolean XA) throws java.lang.Exception- Throws:
- java.lang.Exception
 
 - 
performJNDILookuppublic void performJNDILookup(javax.naming.Context context, PoolConfiguration poolProperties)
 - 
getPropertiesprotected static java.util.Properties getProperties(java.lang.String propText) Parse properties from the string. Format of the string must be [propertyName=property;]*.- Parameters:
- propText- The properties string
- Returns:
- the properties
 
 
- 
 
-