org.biojava.utils
Class JDBCConnectionPool
java.lang.Object
org.biojava.utils.JDBCConnectionPool
public class JDBCConnectionPool
- extends java.lang.Object
Really simple connection pool for JDBC databases.
Use:
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.
- Author:
- Thomas Down, Matthew Pocock
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JDBCConnectionPool
public JDBCConnectionPool(java.lang.String url,
java.lang.String user,
java.lang.String pass)
JDBCConnectionPool
public JDBCConnectionPool(java.lang.String url)
takeConnection
public java.sql.Connection takeConnection()
throws java.sql.SQLException
- Throws:
java.sql.SQLException
putConnection
public void putConnection(java.sql.Connection c)
throws java.sql.SQLException
- Throws:
java.sql.SQLException
takeStatement
public java.sql.Statement takeStatement()
throws java.sql.SQLException
- Throws:
java.sql.SQLException
putStatement
public void putStatement(java.sql.Statement st)
throws java.sql.SQLException
- Throws:
java.sql.SQLException