tomcat 数据库连接池的问题,连接池对象为静态变量有问题么?
package db;
import java.sql.*;
import javax.sql.*;
import java.util.*;
import javax.naming.*;public class dbconnect
{
private static DataSource ds = null;
//
public static Connection openConnection() throws Exception
{
//// if ( ds == null ){
Context initCtx = new InitialContext();
if(initCtx==null) throw new Exception("没有匹配的环境");
Context ctx = (Context) initCtx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("jdbc/SqlServerDB");
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
//}
return ds.getConnection();
}
这样会不会因为ds没有释放而耗资源呀?但加上 if ( ds == null ){判断后tomcat会报错?这是怎么回事呀
package db;
import java.sql.*;
import javax.sql.*;
import java.util.*;
import javax.naming.*;public class dbconnect
{
private static DataSource ds = null;
//
public static Connection openConnection() throws Exception
{
//// if ( ds == null ){
Context initCtx = new InitialContext();
if(initCtx==null) throw new Exception("没有匹配的环境");
Context ctx = (Context) initCtx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("jdbc/SqlServerDB");
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
//}
return ds.getConnection();
}
这样会不会因为ds没有释放而耗资源呀?但加上 if ( ds == null ){判断后tomcat会报错?这是怎么回事呀
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货