Package org.biojava.utils
Class JDBCConnectionPool
- java.lang.Object
-
- org.biojava.utils.JDBCConnectionPool
-
public class JDBCConnectionPool extends 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
-
-
Constructor Summary
Constructors Constructor Description JDBCConnectionPool(String url)
JDBCConnectionPool(String url, String user, String pass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
putConnection(Connection c)
void
putStatement(Statement st)
Connection
takeConnection()
Statement
takeStatement()
-
-
-
Constructor Detail
-
JDBCConnectionPool
public JDBCConnectionPool(String url, String user, String pass)
-
JDBCConnectionPool
public JDBCConnectionPool(String url)
-
-
Method Detail
-
takeConnection
public Connection takeConnection() throws SQLException
- Throws:
SQLException
-
putConnection
public void putConnection(Connection c) throws SQLException
- Throws:
SQLException
-
takeStatement
public Statement takeStatement() throws SQLException
- Throws:
SQLException
-
putStatement
public void putStatement(Statement st) throws SQLException
- Throws:
SQLException
-
-