Package org.biojava.utils
Class JDBCConnectionPool
- java.lang.Object
-
- org.biojava.utils.JDBCConnectionPool
-
public class JDBCConnectionPool extends java.lang.ObjectReally 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(java.lang.String url)JDBCConnectionPool(java.lang.String url, java.lang.String user, java.lang.String pass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidputConnection(java.sql.Connection c)voidputStatement(java.sql.Statement st)java.sql.ConnectiontakeConnection()java.sql.StatementtakeStatement()
-
-
-
Method Detail
-
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
-
-