关于数据库连接池,两个应用访问同一个数据库出现问题!!!!!!!!!!!!!!!!

java_jing 2005-03-05 03:25:27
我用数据库连接池与数据库建立连接,且有两个应用与同一个数据库建立连接,但访问不同的表而已,其中一个出现问题,另一个报错:
javax.servlet.ServletException: Connection is closed.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.login.register1_jsp._jspService(register1_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.sql.SQLException: Connection is closed.
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.checkOpen(PoolingDataSource.java:174)
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createStatement(PoolingDataSource.java:203)
com.cstmail.login.UserBean.CheckUid(UserBean.java:124)
org.apache.jsp.login.register1_jsp._jspService(register1_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

原先两个应用访问同一个数据库下同一个表时,没有问题,这是为什么呢?望高手指点!!!!!!!!!!!!
...全文
358 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
java_jing 2005-03-21
  • 打赏
  • 举报
回复

conn为与数据库的连接,在类的构造函数中获得连接,类中的方法使用些连接,
我执行完数据库操作后,就写conn.close();synchronized加在哪

public static synchronized Connection getConnection() throws Exception获得连接的方法有synchronized
opencsdn 2005-03-21
  • 打赏
  • 举报
回复
看提示是所用con已关闭,
试试在close connection时,加上synchronized
opencsdn 2005-03-21
  • 打赏
  • 举报
回复
帮顶,
java_jing 2005-03-21
  • 打赏
  • 举报
回复
up
feng2008ao 2005-03-21
  • 打赏
  • 举报
回复
是不是你自己程序在调用Connection的方法之前先调用了它的close方法哟,虽然这是个很低级的问题,但是编程有时候不小心还是会发生哈。另外两个应用通过同一个连接池来访问同一个数据库是绝对没有问题的。
java_jing 2005-03-05
  • 打赏
  • 举报
回复
要有人帮忙啊
java_jing 2005-03-05
  • 打赏
  • 举报
回复
com.cstmail.login.UserBean.CheckUid(UserBean.java:124)为
Statement stmt=conn.createStatement();
我每个类都有conn.close();语句,conn为与数据库的连接!!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧