各位大侠,在下遇到一个维护的系统。数据库连接是用的DATASCOURCE,下面的代码是得到数据库连接。我觉得获得连接的方法不能声明成static,我的问题如下:
1,每次得到的static得到的是不是同一个连接。(这个暂时不能确定)对DataScourse.getConnection取得连接的机制不了解。
public class DBManager {
static Logger logger = Logger.getLogger(DBManager.class.getName()); public static Connection getConnection() {
Connection conn = null;
try { DataSource ds = DataSourceLookup.getDataSourceLookup().getDataSource();// strDS
conn = ds.getConnection();
// strDS=null;
} catch (Exception e) { logger.error("DBManager.Connection()",e);
conn = null;
}
return conn;
} public static void closeConnection(Connection conn) {
try {
if (conn != null) {
conn.close();
conn = null;
}
} catch (Exception e) {
}
}
}
1,每次得到的static得到的是不是同一个连接。(这个暂时不能确定)对DataScourse.getConnection取得连接的机制不了解。
public class DBManager {
static Logger logger = Logger.getLogger(DBManager.class.getName()); public static Connection getConnection() {
Connection conn = null;
try { DataSource ds = DataSourceLookup.getDataSourceLookup().getDataSource();// strDS
conn = ds.getConnection();
// strDS=null;
} catch (Exception e) { logger.error("DBManager.Connection()",e);
conn = null;
}
return conn;
} public static void closeConnection(Connection conn) {
try {
if (conn != null) {
conn.close();
conn = null;
}
} catch (Exception e) {
}
}
}
使用者A
开始获取连接.
使用者B,
获取连接
关闭连接关闭连接(此时conn是使用者B产生的那个连接)