Package org.apache.tomcat.dbcp.dbcp2

## Class BasicDataSourceFactory

- java.lang.Object
- - org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory

All Implemented Interfaces:
  `javax.naming.spi.ObjectFactory`

    public class BasicDataSourceFactory
    extends java.lang.Object
    implements javax.naming.spi.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 with the following exceptions:

- `connectionInitSqls` must be passed to this factory as a single String using semicolon to delimit the statements whereas `BasicDataSource` requires a collection of Strings.

Since:
  2.0

### Constructor Summary

Constructors
`BasicDataSourceFactory()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static BasicDataSource` `createDataSource​(java.util.Properties properties)` Creates and configures a `BasicDataSource` instance based on the given properties.
`java.lang.Object` `getObjectInstance​(java.lang.Object obj, javax.naming.Name name, javax.naming.Context nameCtx, java.util.Hashtable<?,​?> environment)` Create and return a new `BasicDataSource` instance.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BasicDataSourceFactory

    public BasicDataSourceFactory()

### Method Detail

#### getObjectInstance

    public java.lang.Object getObjectInstance​(java.lang.Object obj,
                                              javax.naming.Name name,
                                              javax.naming.Context nameCtx,
                                              java.util.Hashtable<?,​?> environment)
                                       throws java.lang.Exception

Create and return a new `BasicDataSource` instance. If no instance can be created, return `null` instead.

Specified by:
  `getObjectInstance` in 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 `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:
  `java.lang.Exception` - if an exception occurs creating the instance

#### createDataSource

    public static BasicDataSource createDataSource​(java.util.Properties properties)
                                            throws java.lang.Exception

Creates and configures a `BasicDataSource` instance based on the given properties.

Parameters:
  `properties` - The data source configuration properties.
Returns:
  A new a `BasicDataSource` instance based on the given properties.
Throws:
  `java.lang.Exception` - Thrown when an error occurs creating the data source.