JSP+MySQL+Tomcat
我在每次查删修改的执行完毕后在finally都加上了:
if (conn != null) {conn.close();}
对于单一的请求是没问题的,但是由Ajax引起的并发的请求,就会出现以上的异常
把关闭链接池的代码去掉,一切有正常起来了。
出现了这样的异常
[code="java"]
com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
at com.mysql.jdbc.Connection.checkClosed(Connection.java:1909)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4607)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4573)
at com.wxb.util.DBUtils.update(DBUtils.java:80)
at com.wxb.lipowernet.client.member.dao.impl.mysql.MemberDAOImpl.update(MemberDAOImpl.java:102)
at com.wxb.lipowernet.client.member.biz.impl.MemberBizImpl.update(MemberBizImpl.java:37)
at com.wxb.lipowernet.client.action.MemberAction.doLogin(MemberAction.java:98)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
[/code]