读书人

教高手,小弟我用Tomcat的,

发布时间: 2012-02-20 21:18:23 作者: rapoo

教高手,我用Tomcat的,急
我在Tomcat的server.xml中配置了源
用程式如下:

public class SqlBeanPool{
public Connection conn=null;
public Statement stmt=null;
public Statement stmt2=null;
publicSqlBeanPool(){}
public void createConnection(){
try{
Context ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup( "java:comp/env/jdbc/OracleDB ");
conn= ds.getConnection();
stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
stmt2=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
}catch(Exception e){
System.out.print( "connect error: "+e.toString()+ " <br> ");
}
}//end funtion creatConnection();
public void freeConnection(){
if(stmt!=null){try{stmt.close();}catch (SQLException e){}stmt=null;}
if(stmt2!=null){try{stmt2.close();}catch (SQLException e){}stmt2=null;}
if(conn!=null){try{conn.close();}catch(SQLException e){}conn=null;}
}//end funtion;

}
在行查,如下,也就是在stmt的那一行:
java.lang.NullPointerException
oracle.jdbc.driver.ScrollableResultSet.close(ScrollableResultSet.java)
org.apache.commons.dbcp.DelegatingResultSet.close(DelegatingResultSet.java:193)
org.apache.jsp.control.invoice_005fdetail_jsp._jspService(invoice_005fdetail_jsp.java:463)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

怎解?

[解决办法]
好像是没有取到数据源,检查jndi名字,server.xml中数据源的设置
[解决办法]
超过了连接池最大连接数?-_-!

一方面设大一些,另外检查一下为什么不够用,是不是有忘记释放的地方。

读书人网 >Java Web开发

热点推荐