|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.conn.PoolManager
public class PoolManager
PoolManager is a pooling DataSource impementation. Internally to obtain connections PoolManager uses either a JDBC driver or another pooling datasource.
Field Summary | |
---|---|
protected String |
dataSourceUrl
|
protected String |
jdbcDriver
|
static int |
MAX_QUEUE_WAIT
Defines a maximum time in milliseconds that a connection request could wait in the connection queue. |
protected int |
maxConnections
|
protected int |
minConnections
|
protected String |
password
|
protected ConnectionPoolDataSource |
poolDataSource
|
protected List |
unusedPool
|
protected List |
usedPool
|
protected String |
userName
|
Constructor Summary | |
---|---|
PoolManager(ConnectionPoolDataSource poolDataSource,
int minCons,
int maxCons,
String userName,
String password)
Creates new PoolManager with the specified policy for connection pooling and a ConnectionPoolDataSource object. |
|
PoolManager(String jdbcDriver,
String dataSourceUrl,
int minCons,
int maxCons,
String userName,
String password)
Creates new PoolManager using org.apache.cayenne.conn.PoolDataSource for an underlying ConnectionPoolDataSource. |
|
PoolManager(String jdbcDriver,
String dataSourceUrl,
int minCons,
int maxCons,
String userName,
String password,
ConnectionEventLoggingDelegate logger)
|
Method Summary | |
---|---|
protected boolean |
canGrowPool()
|
void |
connectionClosed(ConnectionEvent event)
Returns closed connection to the pool. |
void |
connectionErrorOccurred(ConnectionEvent event)
Removes connection with an error from the pool. |
void |
dispose()
Closes all existing connections, removes them from the pool. |
protected void |
disposeOfMaintenanceThread()
|
Connection |
getConnection()
Returns connection from the pool using internal values of user name and password. |
Connection |
getConnection(String userName,
String password)
Returns connection from the pool. |
int |
getCurrentlyInUse()
Returns the number of connections obtained via this DataSource that are currently in use by the DataSource clients. |
int |
getCurrentlyUnused()
Returns the number of connections maintained in the pool that are currently not used by any clients and are available immediately via getConnection method. |
String |
getDataSourceUrl()
Returns a database URL used to initialize this pool. |
String |
getJdbcDriver()
Returns a name of a JDBC driver used to initialize this pool. |
int |
getLoginTimeout()
|
PrintWriter |
getLogWriter()
|
int |
getMaxConnections()
Returns maximum number of connections this pool can keep. |
int |
getMinConnections()
Returns the absolute minimum number of connections allowed in this pool at any moment in time. |
String |
getPassword()
Returns a data source password used to initialize this pool. |
int |
getPoolSize()
Returns current number of connections. |
String |
getUserName()
Returns a data source user name used to initialize this pool. |
protected int |
growPool(int addConnections,
String userName,
String password)
Increases connection pool by the specified number of connections. |
protected void |
init(ConnectionPoolDataSource poolDataSource,
int minCons,
int maxCons,
String userName,
String password)
Initializes pool. |
protected PooledConnection |
newPooledConnection(String userName,
String password)
Creates and returns new PooledConnection object, adding itself as a listener for connection events. |
void |
setLoginTimeout(int seconds)
|
void |
setLogWriter(PrintWriter out)
|
void |
setMaxConnections(int maxConnections)
|
void |
setMinConnections(int minConnections)
|
protected void |
shrinkPool(int closeConnections)
|
protected void |
startMaintenanceThread()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int MAX_QUEUE_WAIT
protected ConnectionPoolDataSource poolDataSource
protected int minConnections
protected int maxConnections
protected String dataSourceUrl
protected String jdbcDriver
protected String password
protected String userName
protected List unusedPool
protected List usedPool
Constructor Detail |
---|
public PoolManager(String jdbcDriver, String dataSourceUrl, int minCons, int maxCons, String userName, String password) throws SQLException
SQLException
public PoolManager(String jdbcDriver, String dataSourceUrl, int minCons, int maxCons, String userName, String password, ConnectionEventLoggingDelegate logger) throws SQLException
SQLException
public PoolManager(ConnectionPoolDataSource poolDataSource, int minCons, int maxCons, String userName, String password) throws SQLException
poolDataSource
- data source for pooled connectionsminCons
- Non-negative integer that specifies a minimum number of open connections
to keep in the pool at all timesmaxCons
- Non-negative integer that specifies maximum number of simultaneuosly open connections
SQLException
- if pool manager can not be created.Method Detail |
---|
protected void init(ConnectionPoolDataSource poolDataSource, int minCons, int maxCons, String userName, String password) throws SQLException
SQLException
protected void startMaintenanceThread()
protected PooledConnection newPooledConnection(String userName, String password) throws SQLException
SQLException
public void dispose() throws SQLException
SQLException
protected void disposeOfMaintenanceThread()
protected boolean canGrowPool()
protected int growPool(int addConnections, String userName, String password) throws SQLException
SQLException
- if an error happens when creating a new connection.protected void shrinkPool(int closeConnections)
public int getMaxConnections()
public void setMaxConnections(int maxConnections)
public int getMinConnections()
public void setMinConnections(int minConnections)
public String getDataSourceUrl()
public String getJdbcDriver()
public String getPassword()
public String getUserName()
public int getPoolSize()
public int getCurrentlyInUse()
public int getCurrentlyUnused()
getConnection
method.
public Connection getConnection() throws SQLException
ds.getConnection(ds.getUserName(), ds.getPassword())
getConnection
in interface DataSource
SQLException
public Connection getConnection(String userName, String password) throws SQLException
getConnection
in interface DataSource
SQLException
public int getLoginTimeout() throws SQLException
getLoginTimeout
in interface DataSource
SQLException
public void setLoginTimeout(int seconds) throws SQLException
setLoginTimeout
in interface DataSource
SQLException
public PrintWriter getLogWriter() throws SQLException
getLogWriter
in interface DataSource
SQLException
public void setLogWriter(PrintWriter out) throws SQLException
setLogWriter
in interface DataSource
SQLException
public void connectionClosed(ConnectionEvent event)
connectionClosed
in interface ConnectionEventListener
public void connectionErrorOccurred(ConnectionEvent event)
connectionErrorOccurred
in interface ConnectionEventListener
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |