jdbc连接池关闭?
应用程序是用websphere6.0,oracle10g,struts+spring,在连接数据库用到jdbc.properties里面内容为:
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:2109.32.1.34:1521:ora
username=name
password=pwd
但是在系统开始运行时很正常,连接过几次数据库后就出现错误:
DataSourceUti E org.springframework.jdbc.datasource.DataSourceUtils releaseConnection Could not close JDBC Connection
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:77)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:180)
at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:276)
at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:237)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:492)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:529)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:554)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:595)
at org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:114)
at org.springframework.jdbc.object.SqlQuery.findObject(SqlQuery.java:221)
at org.springframework.jdbc.object.SqlQuery.findObject(SqlQuery.java:282)
at org.springframework.jdbc.object.SqlQuery.findObject(SqlQuery.java:289)
at icbczj.bankee.gke.dao.FinaUserInfoDaoImpl.queryFinaUserInfo(FinaUserInfoDaoImpl.java:160)
at icbczj.bankee.gke.dao.FinaUserInfoDaoImpl.getUserInfo(FinaUserInfoDaoImpl.java:113)
at icbczj.bankee.service.UserInfoServiceImpl.getUserInfoContainer(UserInfoServiceImpl.java:74)
at icbczj.bankee.action.LogonAction.doExecute(LogonAction.java:106)
at icbczj.bankee.action.BaseAction.execute(BaseAction.java:96)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1480)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:524)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:334)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:520)
at com.ibm._jsp._main._jspService(_main.java:63)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:89)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1924)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:98)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
……
数据库操作用了jdbctemplete类。
而在程序中也有用websphere配置数据源去连同一个数据库,然后就会出现:
连接管理器接收到来自资源 jdbc/EBANKDB 的资源适配器的致命连接错误。接收到的异常为 com.ibm.websphere.ce.cm.StaleConnectionException: Io 异常: Connection reset
我查了很久都没发现哪里有问题,请各位大小帮帮忙。
谢谢!!!