Tomcat数据连接池的问题 ,操作一段时间后频繁报错(denies access to data source )!
大家帮我看看这些连接池,该怎样改进才能避免出错啊!
平台环境:Tomcat(4。1)+MySQL(4.0.12)+winxp Home Edition
出错提示:
Tomcat服务器提示
Server configuration denies access to data source
一下是连接池的代码:
////////////////////////////////////////////////////////////////////////
package com.es.bbs;
import com.es.util.PropertyManager;
import java.io.PrintStream;
import java.sql.*;
public class BbsReg
{
public BbsReg()
{
sDBDriver = PropertyManager.getProperty("DbConnectionDefaultPool.dbDriver");
sConnStr = PropertyManager.getProperty("DbConnectionDefaultPool.dbUrl");
user = PropertyManager.getProperty("DbConnectionDefaultPool.dbUser");
password = PropertyManager.getProperty("DbConnectionDefaultPool.dbPassword");
conn = null;
rs = null;
try
{
Class.forName(sDBDriver);
}
catch(ClassNotFoundException e)
{
System.err.println("BbsReg(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
rs = null;
try
{
conn = DriverManager.getConnection(sConnStr, user, password);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("aq.executeQuery: " + ex.getMessage());
System.err.println("aq.executeQuerystrSQL: " + sql);
}
return rs;
}
public void executeUpdate(String sql)
{
try
{
conn = DriverManager.getConnection(sConnStr, user, password);
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("aq.executeUpdate: " + ex.getMessage());
System.err.println("aq.executeUpadatestrSQL: " + sql);
}
}
String sDBDriver;
String sConnStr;
String user;
String password;
Connection conn;
ResultSet rs;
}
//////////////////////////////////////////////
/////////调用连接池///////////////////
package com.es.bbs;
import java.io.PrintStream;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BbsAdmin
{
public BbsAdmin()
{
dbconn = new BbsReg();
rs = null;
id = 0;
adminname = "";
adminpwd = "";
}
public boolean checkAdminPassword(String s, String s1)
{
rs = null;
strSQL = "select * from slt_bbs_admin where adminname='" + s + "' and adminpwd='" + s1 + "'";
try
{
rs = dbconn.executeQuery(strSQL);
if(rs != null && rs.next())
{
yesorno = true;
adminname = rs.getString("adminname");
adminpwd = rs.getString("adminpwd");
} else
{
yesorno = false;
}
if(rs != null)
rs.close();
}
catch(SQLException sqlexception)
{
System.err.println("aq.executeQuery: " + sqlexception.getMessage());
System.err.println("checkuserpassword.STRSQL:: " + strSQL);
}
return yesorno;
}
public String getAdminName()
{
return adminname;
}
public String getAdminPassword()
{
return adminpwd;
}
BbsReg dbconn;
ResultSet rs;
String strSQL;
boolean yesorno;
int id;
String adminname;
String adminpwd;
}