public class PoolingConnectionProvider extends Object implements ConnectionProvider
A ConnectionProvider
implementation that creates its own
pool of connections.
This class uses C3PO (http://www.mchange.com/projects/c3p0/index.html) as the underlying pool implementation.
DBConnectionManager
,
ConnectionProvider
Modifier and Type | Field and Description |
---|---|
static String |
DB_DRIVER
The JDBC database driver.
|
static String |
DB_IDLE_VALIDATION_SECONDS
The number of seconds between tests of idle connections - only enabled
if the validation query property is set.
|
static String |
DB_MAX_CACHED_STATEMENTS_PER_CONNECTION
The maximum number of prepared statements that will be cached per connection in the pool.
|
static String |
DB_MAX_CONNECTIONS
The maximum number of database connections to have in the pool.
|
static String |
DB_PASSWORD
The database user password.
|
static String |
DB_URL
The JDBC database URL.
|
static String |
DB_USER
The database user name.
|
static String |
DB_VALIDATE_ON_CHECKOUT
Whether the database sql query to validate connections should be executed every time
a connection is retrieved from the pool to ensure that it is still valid.
|
static String |
DB_VALIDATION_QUERY
The database sql query to execute every time a connection is returned
to the pool to ensure that it is still valid.
|
static int |
DEFAULT_DB_MAX_CACHED_STATEMENTS_PER_CONNECTION
Default maximum number of database connections in the pool.
|
static int |
DEFAULT_DB_MAX_CONNECTIONS
Default maximum number of database connections in the pool.
|
Constructor and Description |
---|
PoolingConnectionProvider(Properties config)
Create a connection pool using the given properties.
|
PoolingConnectionProvider(String dbDriver,
String dbURL,
String dbUser,
String dbPassword,
int maxConnections,
String dbValidationQuery) |
Modifier and Type | Method and Description |
---|---|
Connection |
getConnection() |
protected com.mchange.v2.c3p0.ComboPooledDataSource |
getDataSource()
Get the C3PO ComboPooledDataSource created during initialization.
|
void |
shutdown() |
public static final String DB_DRIVER
public static final String DB_URL
public static final String DB_USER
public static final String DB_PASSWORD
public static final String DB_MAX_CONNECTIONS
public static final String DB_MAX_CACHED_STATEMENTS_PER_CONNECTION
public static final String DB_VALIDATION_QUERY
public static final String DB_IDLE_VALIDATION_SECONDS
public static final String DB_VALIDATE_ON_CHECKOUT
public static final int DEFAULT_DB_MAX_CONNECTIONS
public static final int DEFAULT_DB_MAX_CACHED_STATEMENTS_PER_CONNECTION
public PoolingConnectionProvider(String dbDriver, String dbURL, String dbUser, String dbPassword, int maxConnections, String dbValidationQuery) throws SQLException, SchedulerException
SQLException
SchedulerException
public PoolingConnectionProvider(Properties config) throws SchedulerException, SQLException
The properties passed should contain:
DB_DRIVER
- The database driver class name
DB_URL
- The database URL
DB_USER
- The database user
DB_PASSWORD
- The database password
DB_MAX_CONNECTIONS
- The maximum # connections in the pool,
optional
DB_VALIDATION_QUERY
- The sql validation query, optional
config
- configuration propertiesSchedulerException
SQLException
protected com.mchange.v2.c3p0.ComboPooledDataSource getDataSource()
This can be used to set additional data source properties in a subclass's constructor.
public Connection getConnection() throws SQLException
getConnection
in interface ConnectionProvider
SQLException
public void shutdown() throws SQLException
shutdown
in interface ConnectionProvider
SQLException
Copyright © 2018. All rights reserved.