下面的方法使用了数据连接池,但为什么回有timeout现象? (100分)

  • 主题发起人 主题发起人 hplovet
  • 开始时间 开始时间
H

hplovet

Unregistered / Unconfirmed
GUEST, unregistred user!
下面的方法使用了数据连接池,但为什么回有timeout现象?
public int getBlackuserCount(String blackStr)
{
int ret = 0;


ResultSet rs = null;
Statement stmt = null;

String readcatalog = blackStr;//"select count(*) form PRODUCTS where 1=1 and " +

try
{
//与连接池取的连接
Connection conn = ProjectConfig.ProjectDBPool.getConnection("DBConn");
stmt = conn.createStatement();
rs = stmt.executeQuery(readcatalog);
if (rs.next())
{
ret = rs.getInt(1);
}
}
catch (SQLException ex)
{
log.error("使用数据连接池出错或执行SQL出错:" + ex.getMessage());
}
finally
{
try
{
rs.close();

ProjectConfig.ProjectDBPool.freeConnection("DBConn", conn);
}
catch (Exception e)
{
log.error("关闭数据库出错" + e.getMessage());
}
}
return ret;
}
 
代码里没看出什么毛病,估计是你的连接池配置有什么问题
你用的是什么连接池 延时的时间是可以自己该的
 
数据库连接池应该没有问题,应为别人同样在用,没有类似的问题出现
time时间我已经加大,但问题依旧。
 
ProjectConfig.ProjectDBPool的代码贴出来看看呀,关键是jndi的获取的问题
 
你先检测一下有没有真正获得连接
问题应该在你的连接池管理上
 
多人接受答案了。
 
后退
顶部