************************WebLogic控制台打印******************************<2011-2-25 上午11时16分18秒 CST> <Warning> <JDBC> <BEA-001153> <Forcibly releasi
ng inactive connection "weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_
T4CConnection@d5c" back into the connection pool "OA_SOURCE", currently reserved
 by: java.lang.Exception
        at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:
318)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(Resourc
ePoolImpl.java:344)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(Resourc
ePoolImpl.java:322)
        at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
ava:438)
        at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
ava:317)
        at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(Connectio
nPoolManager.java:93)
        at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(Connectio
nPoolManager.java:106)
*******************************weblogic生成的日志*******************************####<2011-2-25 上午11时16分18秒 CST> <Warning> <JDBC> <EAI-SERVER> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1298603778859> <BEA-001153> <Forcibly releasing inactive connection "weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@d5c" back into the connection pool "OA_SOURCE", currently reserved by: java.lang.Exception
at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:318)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:344)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:322)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:438)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:106)
at weblogic.jdbc.pool.Driver.connect(Driver.java:149)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:652)
at weblogic.jdbc.jts.Driver.connect(Driver.java:127)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:355)
at com.gmtoa.util.ConnectionManager.getConnection(ConnectionManager.java:27)
at com.gmtoa.util.DaoImpl.getConnection(DaoImpl.java:33)
at com.gmtoa.struts.sjgl.service.OverTimeService.getReturnType(OverTimeService.java:72)
at com.gmtoa.struts.sjgl.action.OverTimeAction.getReturnType(OverTimeAction.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:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.gmtoa.util.PermitFilter.doFilter(PermitFilter.java:76)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
.> 
后台连接数据库的地方该关的都关了。不知道为啥出现这问题。 求高人解答。 谢谢~

解决方案 »

  1.   

    oracle的驱动包有没有放入weblogic的lib里面啊?
      

  2.   

    oracle驱动包放到Weblog  lib里?
    什么意思》?
      

  3.   

    这个是connetion leaking。你看看com.gmtoa.util.ConnectionManager.getConnection(ConnectionManager.java:27)看拿到这个connection了以后有没有close把这connection还到连接池。-------------------------------------------------
    爱问易 - 非官方技术支持互助平台
    http://www.iaskengineer.com
    -------------------------------------------------
    几块钱就能解决的问题,何必困扰好几天?
    -------------------------------------------------
      

  4.   

    这个问题一般是程序的问题,SQL语句性能太差(通常是意外的引起了大表的全表扫描),监控weblogic连接池的Connections,会发现数值一直往上增长,不降低,这不是连接不释放,而是连接根本就还在使用,操作的时间太长了。观察服务的线程队列,发现线程全表卡到一个页面上,一直不释放,这样,问题得到证实。解决的办法是优化SQL。
      

  5.   

    先谢谢几位朋友的回答。先排查一下connection close问题