连接池中InitialContext的问题
public class dbconf {
private static Connection conn;
public static Connection getconnection() throws SQLException {
Context ctx = null;
try {
//判断数据库连接是否关闭,如果没有关闭返回数据库连接对象 conn,否则创建数据库连接对象
if (conn != null && !conn.isClosed()) {
return conn;
}
ctx = new InitialContext();
if (ctx == null) {
throw new Exception("Boom - No Context");
}
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/TestDB");
if (ds != null) {
conn = ds.getConnection();
}
} catch (Exception e) {
e.printStackTrace();
// log.error("获取连接失败");
} finally {
if (ctx != null) {
try {
ctx.close();
} catch (NamingException ex) {
ex.printStackTrace();
}
}
}
return conn;
}
InitialContext是否需要关闭?
为什么在程序中看到数据库连接数为0?
private static Connection conn;
public static Connection getconnection() throws SQLException {
Context ctx = null;
try {
//判断数据库连接是否关闭,如果没有关闭返回数据库连接对象 conn,否则创建数据库连接对象
if (conn != null && !conn.isClosed()) {
return conn;
}
ctx = new InitialContext();
if (ctx == null) {
throw new Exception("Boom - No Context");
}
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/TestDB");
if (ds != null) {
conn = ds.getConnection();
}
} catch (Exception e) {
e.printStackTrace();
// log.error("获取连接失败");
} finally {
if (ctx != null) {
try {
ctx.close();
} catch (NamingException ex) {
ex.printStackTrace();
}
}
}
return conn;
}
InitialContext是否需要关闭?
为什么在程序中看到数据库连接数为0?
...全文
相关推荐
java连接池jtds技术
在Java应用中,数据库连接的频繁建立和关闭会消耗大量的系统资源,而使用连接池可以有效地解决这一问题。首先,我们要理解什么是连接池。
DBCP 数据库连接池JNDI连接 学习笔记
**注意事项** - 必须确保关闭不再使用的连接,否则可能导致连接池耗尽。 - 在多线程环境下,必须正确处理数据源和连接的同步问题。6.
JNDI连接池+单例模式+文件上传
应用程序可以通过以下代码查找并获取连接:```javaContext initialContext = new InitialContext();DataSource dataSource = (DataSource
tomcat中数据库连接池代码压缩包
- 根据数据库版本选择兼容的驱动,避免兼容性问题。通过研究提供的源码压缩包,你可以深入理解Tomcat连接池的工作原理,学习如何配置和优化连接池,以及如何在实际应用中正确使用。
Tongweb5中配置JDBC连接池
- **监控和调优**:定期检查连接池的使用情况,根据实际情况调整参数,防止资源耗尽或浪费。- **异常处理**:在代码中正确处理数据库连接的异常,确保在发生问题时能够及时发现并恢复。


