【Java开源代码栏目提醒】:网学会员Java开源代码为您提供ConnectionManager.java参考,解决您在ConnectionManager.java学习中工作中的难题,参考学习。
package database;
import java.sql.Connection;
public class ConnectionManager {
private static final int TIME_BETWEEN_RETRIES = 500; // 0.5 秒
static private ConnectionManager instance = null;
private DBConnectionPool pool = null;
// 私有构造方法,初始化数据库的连接
private ConnectionManager() {
DBParam param = new DBParam();
String driverClassName = param.getDriverClassName();
try {
Class.forName(driverClassName).newInstance();
} catch (Exception e) {
System.out.println(e.getMessage());
}
String url = param.getDatabaseURL();
String user = param.getDatabaseUser();
String pwd = param.getDatabasePwd();
int maxConnection = param.getMaxConnection();
pool = new DBConnectionPool(url, user, pwd, maxConnection);
}
// 返回一个单独的实例,如果这个方法是第一次被调用就创建一个新的实例
public static synchronized ConnectionManager getInstance() {
if (instance == null) {
instance = new ConnectionManager();
}
return instance;
}
// 返回一个连接,调用DBConnectionPool对象的getConnection()方法
Connection getConnection() {
return pool.getConnection();
}
// 返回一个连接,调用DBConnectionPool对象的
//getConnection(long timeout)方法
Connection getConnection(long time) {
return pool.getConnectin(time);
}
// 关闭所有连接
boolean release() {
return pool.release();
}
// 关闭conn所指连接
void release(Connection conn) {
pool.freeConnection(conn);
}
}