Force release the connection in weblogic 10.3.4

怎甘沉沦 提交于 2019-12-22 07:19:05

问题


I am getting following error in my managed server console on oracle soa server(11g).

--------------------
<Apr 14, 2011 10:51:37 AM SGT> <Warning> <JDBC> <BEA-001153> <Forcibly releasing inactive connection "weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@14267" back into the connect
ion pool "JDBC Data Source-0", 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.RmiDataSource.getPoolConnection(RmiDataSource.java:342)
        at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:360)
        at com.ura.dams.registration.dbcontrol.DBConnection.getConnection(DBConnection.java:35)
        at com.ura.dams.registration.dbcontrol.SubmissionUploadDBImpl.executeSelect(SubmissionUploadDBImpl.java:786)
        at com.ura.dams.registration.dbcontrol.SubmissionUploadDBImpl.getSubTypeAndApplTypeInd(SubmissionUploadDBImpl.java:159)
        at com.ura.dams.registration.businesscontrol.UploadSubmissionImpl.getAcceptanceStatus(UploadSubmissionImpl.java:829)
        at com.ura.dams.registration.process.RegistrationUpload.perform2(RegistrationUpload.java:121)
        at orabpel.registrationupload.ExecLetBxExe3.execute(ExecLetBxExe3.java:139)
        at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELxExecWMP.__executeStatements(BPELxExecWMP.java:42)
        at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:162)
        at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2465)
        at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1132)
        at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
        at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:219)
        at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:327)
        at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4350)
        at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4281)
        at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
        at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:545)
        at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:654)
        at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:355)
        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 com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
        at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
        at java.security.AccessController.doPrivileged(Native Method)
        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
        at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
        at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
        at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
        at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
        at sun.reflect.GeneratedMethodAccessor813.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
        at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
        at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
        at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy245.handleInvoke(Unknown Source)
        at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.handleInvoke(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:132)
        at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:35)
        at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:141)
        at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:82)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
--------------------------------------

Can any one tell me why I am getting this error.

Following is my settings.

  • InActive Connection Timeout: 60
  • Connection Reserve timeout: 20
  • Initial capacity: 10
  • Maximum CapacityL: 30

I am profiling the connection leak also and i have checked in my application that there is no open connection.

thanks,


回答1:


You have leaked a connection. Didn't close it. It became inactive, but not in the pool. After some time WLS noticed the fact that connection is in fact inactive, i.e. leaked, and forcefully closed it, returning it to the pool.

Here is the place where the connection was open:

 com.ura.dams.registration.dbcontrol.SubmissionUploadDBImpl.executeSelect(SubmissionUploadDBImpl.java:786)

Check the code to see how come close() wasn't called.




回答2:


As a work around I am telling this solution to do in the WLS. In WLS Data Source Configuration Inactive Connection Timeout configuration will be present under the advanced configuration. That we have to change it into the 0.

Steps to reach the inactive connection timeout is: Login into the WLS --> click on Data Source --> select Configuration tab --> click on the data_source name --> select Connection Pool under the Configuration tab --> click on Advanced link under the bottom of the page --> Change Inactive Connection Timeout value to 0 from any other value.

This configuration will remove all inactive connections means it will not wait to close connection when it will reach to inactive state. Hope this will help.



来源:https://stackoverflow.com/questions/5658093/force-release-the-connection-in-weblogic-10-3-4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!