public class C3p0PoolingConnectionProvider extends Object implements PoolingConnectionProvider
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_DISCARD_IDLE_CONNECTIONS_SECONDS
Discard connections after they have been idle this many seconds.
|
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_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 int |
DEFAULT_DB_MAX_CACHED_STATEMENTS_PER_CONNECTION
Default maximum number of database connections in the pool.
|
DB_DRIVER, DB_MAX_CONNECTIONS, DB_PASSWORD, DB_URL, DB_USER, DB_VALIDATION_QUERY, DEFAULT_DB_MAX_CONNECTIONS, POOLING_PROVIDER, POOLING_PROVIDER_C3P0, POOLING_PROVIDER_HIKARICP
Constructor and Description |
---|
C3p0PoolingConnectionProvider(Properties config)
Create a connection pool using the given properties.
|
C3p0PoolingConnectionProvider(String dbDriver,
String dbURL,
String dbUser,
String dbPassword,
int maxConnections,
String dbValidationQuery) |
Modifier and Type | Method and Description |
---|---|
Connection |
getConnection() |
com.mchange.v2.c3p0.ComboPooledDataSource |
getDataSource()
Get the C3PO ComboPooledDataSource created during initialization.
|
void |
initialize() |
void |
shutdown() |
public static final String DB_MAX_CACHED_STATEMENTS_PER_CONNECTION
public static final String DB_IDLE_VALIDATION_SECONDS
public static final String DB_VALIDATE_ON_CHECKOUT
public static final String DB_DISCARD_IDLE_CONNECTIONS_SECONDS
public static final int DEFAULT_DB_MAX_CACHED_STATEMENTS_PER_CONNECTION
public C3p0PoolingConnectionProvider(String dbDriver, String dbURL, String dbUser, String dbPassword, int maxConnections, String dbValidationQuery) throws SQLException, SchedulerException
SQLException
SchedulerException
public C3p0PoolingConnectionProvider(Properties config) throws SchedulerException, SQLException
The properties passed should contain:
PoolingConnectionProvider.DB_DRIVER
- The database driver class name
PoolingConnectionProvider.DB_URL
- The database URL
PoolingConnectionProvider.DB_USER
- The database user
PoolingConnectionProvider.DB_PASSWORD
- The database password
PoolingConnectionProvider.DB_MAX_CONNECTIONS
- The maximum # connections in the pool,
optional
PoolingConnectionProvider.DB_VALIDATION_QUERY
- The sql validation query, optional
config
- configuration propertiesSchedulerException
SQLException
public com.mchange.v2.c3p0.ComboPooledDataSource getDataSource()
This can be used to set additional data source properties in a subclass's constructor.
getDataSource
in interface PoolingConnectionProvider
public Connection getConnection() throws SQLException
getConnection
in interface ConnectionProvider
SQLException
public void shutdown() throws SQLException
shutdown
in interface ConnectionProvider
SQLException
public void initialize() throws SQLException
initialize
in interface ConnectionProvider
SQLException
Copyright 2001-2019, Terracotta, Inc.