public class JDBCConnectionPool extends Object
JDBCConnectionPool pool = new JDBCConnectionPool(jdbcURL, userName, passwd); ... Connection conn = pool.takeConnection(); // do stuff with conn pool.putConnection(conn); // don't use conn from here on Statement stmt = pool.takeStatement(); // do stuff with stmt pool.putStatement(stmt); // don't do anything else with stmt
It is not a good idea to call close()
on a connection you
get from a pool. This would prevent it from being re-used. Also, we have
seen some odd behavior with connections involved in transactions being
re-used. We have not yet identified exactly how you can safely use a
pooled connection for transaction-safe code.
Note: We should probably be moving to a propper connection pool API. Let's standardise on one soon.
Constructor and Description |
---|
JDBCConnectionPool(String url) |
JDBCConnectionPool(String url,
String user,
String pass) |
Modifier and Type | Method and Description |
---|---|
void |
putConnection(Connection c) |
void |
putStatement(Statement st) |
Connection |
takeConnection() |
Statement |
takeStatement() |
public JDBCConnectionPool(String url)
public Connection takeConnection() throws SQLException
SQLException
public void putConnection(Connection c) throws SQLException
SQLException
public Statement takeStatement() throws SQLException
SQLException
public void putStatement(Statement st) throws SQLException
SQLException