Apache Tomcat 7.0.42

## 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 the `RefAddr` values of the specified `Reference`, which must match the names and data types of the `BasicDataSource` bean properties.

Properties available for configuration:
Commons DBCP properties

1. initSQL - A query that gets executed once, right after the connection is established.
2. testOnConnect - run validationQuery after connection has been established.
3. validationInterval - avoid excess validation, only run validation at most at this frequency - time in milliseconds.
4. jdbcInterceptors - a semicolon separated list of classnames extending `JdbcInterceptor` class.
5. jmxEnabled - true of false, whether to register the pool with JMX.
6. fairQueue - true of false, whether the pool should sacrifice a little bit of performance for true fairness.

Author:
  Craig R. McClanahan, Dirk Verbeeck, Filip Hanik

Field Summary
`protected static String[]` `ALL_PROPERTIES`
`static String` `OBJECT_NAME`
`protected static String` `PROP_ABANDONWHENPERCENTAGEFULL`
`protected static String` `PROP_ACCESSTOUNDERLYINGCONNECTIONALLOWED`
`protected static String` `PROP_ALTERNATE_USERNAME_ALLOWED`
`protected static String` `PROP_COMMITONRETURN`
`protected static String` `PROP_CONNECTIONPROPERTIES`
`protected static String` `PROP_DATASOURCE`
`protected static String` `PROP_DATASOURCE_JNDI`
`protected static String` `PROP_DEFAULTAUTOCOMMIT`
`protected static String` `PROP_DEFAULTCATALOG`
`protected static String` `PROP_DEFAULTREADONLY`
`protected static String` `PROP_DEFAULTTRANSACTIONISOLATION`
`protected static String` `PROP_DRIVERCLASSNAME`
`protected static String` `PROP_FAIR_QUEUE`
`protected static String` `PROP_INITIALSIZE`
`protected static String` `PROP_INITSQL`
`protected static String` `PROP_INTERCEPTORS`
`protected static String` `PROP_JMX_ENABLED`
`protected static String` `PROP_LOGABANDONED`
`protected static String` `PROP_LOGVALIDATIONERRORS`
`protected static String` `PROP_MAXACTIVE`
`protected static String` `PROP_MAXAGE`
`protected static String` `PROP_MAXIDLE`
`protected static String` `PROP_MAXOPENPREPAREDSTATEMENTS`
`protected static String` `PROP_MAXWAIT`
`protected static String` `PROP_MINEVICTABLEIDLETIMEMILLIS`
`protected static String` `PROP_MINIDLE`
`protected static String` `PROP_NUMTESTSPEREVICTIONRUN`
`protected static String` `PROP_PASSWORD`
`protected static String` `PROP_POOLPREPAREDSTATEMENTS`
`protected static String` `PROP_PROPAGATEINTERRUPTSTATE`
`protected static String` `PROP_REMOVEABANDONED`
`protected static String` `PROP_REMOVEABANDONEDTIMEOUT`
`protected static String` `PROP_ROLLBACKONRETURN`
`protected static String` `PROP_SUSPECT_TIMEOUT`
`protected static String` `PROP_TESTONBORROW`
`protected static String` `PROP_TESTONCONNECT`
`protected static String` `PROP_TESTONRETURN`
`protected static String` `PROP_TESTWHILEIDLE`
`protected static String` `PROP_TIMEBETWEENEVICTIONRUNSMILLIS`
`protected static String` `PROP_URL`
`protected static String` `PROP_USE_CON_LOCK`
`protected static String` `PROP_USE_EQUALS`
`protected static String` `PROP_USEDISPOSABLECONNECTIONFACADE`
`protected static String` `PROP_USERNAME`
`protected static String` `PROP_VALIDATIONINTERVAL`
`protected static String` `PROP_VALIDATIONQUERY`
`protected static String` `PROP_VALIDATOR_CLASS_NAME`
`static int` `UNKNOWN_TRANSACTIONISOLATION`

Constructor Summary
`DataSourceFactory()`

Method Summary
`DataSource` `createDataSource(Properties properties)` Creates and configures a `DataSource` 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 new `BasicDataSource` instance.
`protected static Properties` `getProperties(String propText)` Parse properties from the string.
`static PoolConfiguration` `parsePoolProperties(Properties properties)`
`void` `performJNDILookup(Context context, PoolConfiguration poolProperties)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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_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

### 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

Constructor Detail

### DataSourceFactory

    public DataSourceFactory()

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, return `null` instead.

  Specified by:
    `getObjectInstance` in interface `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 `name` parameter is specified, or `null` if `name` is relative to the default initial context
    `environment` - 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 a `DataSource` instance based on the given properties.

  Parameters:
    `properties` - the datasource configuration properties
  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` -
  Returns:
    Properties
  Throws:
    `Exception`

Apache Tomcat 7.0.42

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.