我在程序中使用如下方法获得connection ,
Connection conn = getSession().connection();
CallableStatement cstmt = null;
ResultSet rs = null; try {
cstmt = conn.prepareCall("{call mc_mystoreprocedure(?)}");
cstmt.setInt(1, deal_no);
rs = cstmt.executeQuery();
while (rs.next()) {
CategorySummary catobj = new CategorySummary();
catobj.setCat_id(rs.getInt("cat_id"));
catobj.setFamily_id(rs.getInt("family_id"));
catobj.setCat_desc(rs.getString("cat_desc"));
catobj.setFamily_desc(rs.getString("family_desc"));
result.add(catobj);
}
} catch (Exception e) {
logger.error(e);
} finally {
SQLHelper.closeObject(rs, cstmt,conn);
releaseSession(getSession());
}-------------------------------------
但是系统在deploy之后总是报如下exception:<Jul 14, 2006 8:35:17 AM PDT> <Warning> <JDBC> <BEA-001074> <A JDBC pool connection leak was detected. A connection leak occurs when a connection obtained from the pool was not closed explicitly by calling close() and then was disposed by the garbage collector and returned to the connection pool. The following stack trace at create shows where the leaked connection was created. Stack trace at connection create: at weblogic.jdbc.wrapper.PoolConnection.init(PoolConnection.java:56)
at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:254)
at weblogic.jdbc.pool.Driver.connect(Driver.java:164)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:509)
at weblogic.jdbc.jts.Driver.connect(Driver.java:139)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java
:80)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:360)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:122)
at org.hibernate.jdbc.BorrowedConnectionProxy.invoke(BorrowedConnectionProxy.java:40)
at $Proxy22.prepareCall(Unknown Source)
at com.synnex.realdeal.dao.hibernate.VendorSummaryDAOHibernate.getVendorsByCat(VendorSummaryDAOHibernate.java:87)
at com.synnex.realdeal.service.impl.VendorSummaryManagerImpl.getVendorsByCat(VendorSummaryManagerImpl.java:51)
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:324)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
at $Proxy11.getVendorsByCat(Unknown Source)
at com.synnex.realdeal.web.action.ListVendorSummarysController.handleRequestInternal(ListVendorSummarysController.java:79)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
困惑不已,恳请大侠帮忙~~~~~~~~~谢谢!!!!
Connection conn = getSession().connection();
CallableStatement cstmt = null;
ResultSet rs = null; try {
cstmt = conn.prepareCall("{call mc_mystoreprocedure(?)}");
cstmt.setInt(1, deal_no);
rs = cstmt.executeQuery();
while (rs.next()) {
CategorySummary catobj = new CategorySummary();
catobj.setCat_id(rs.getInt("cat_id"));
catobj.setFamily_id(rs.getInt("family_id"));
catobj.setCat_desc(rs.getString("cat_desc"));
catobj.setFamily_desc(rs.getString("family_desc"));
result.add(catobj);
}
} catch (Exception e) {
logger.error(e);
} finally {
SQLHelper.closeObject(rs, cstmt,conn);
releaseSession(getSession());
}-------------------------------------
但是系统在deploy之后总是报如下exception:<Jul 14, 2006 8:35:17 AM PDT> <Warning> <JDBC> <BEA-001074> <A JDBC pool connection leak was detected. A connection leak occurs when a connection obtained from the pool was not closed explicitly by calling close() and then was disposed by the garbage collector and returned to the connection pool. The following stack trace at create shows where the leaked connection was created. Stack trace at connection create: at weblogic.jdbc.wrapper.PoolConnection.init(PoolConnection.java:56)
at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:254)
at weblogic.jdbc.pool.Driver.connect(Driver.java:164)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:509)
at weblogic.jdbc.jts.Driver.connect(Driver.java:139)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java
:80)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:360)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:122)
at org.hibernate.jdbc.BorrowedConnectionProxy.invoke(BorrowedConnectionProxy.java:40)
at $Proxy22.prepareCall(Unknown Source)
at com.synnex.realdeal.dao.hibernate.VendorSummaryDAOHibernate.getVendorsByCat(VendorSummaryDAOHibernate.java:87)
at com.synnex.realdeal.service.impl.VendorSummaryManagerImpl.getVendorsByCat(VendorSummaryManagerImpl.java:51)
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:324)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
at $Proxy11.getVendorsByCat(Unknown Source)
at com.synnex.realdeal.web.action.ListVendorSummarysController.handleRequestInternal(ListVendorSummarysController.java:79)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
困惑不已,恳请大侠帮忙~~~~~~~~~谢谢!!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货