Connection Pool Leak
Hello All,
I seem to have sprung a leak and cannot work out what is going wrong.
I return a result set from a class to jsp, I cannot close this resultset before it is passed back, however I do close it in the jsp after use. Do I actually have two connections open here or one, i.e. one in the jsp and one in the class, if so that may be the problem.
The other problem I have is that I have set Tomcat up to RemoveAbandoned connections after 15 seconds. I had expected the application to recover after 15 seconds, but it does not, instead the Tomcat console reports an error:
Open connection failure: Communication failure during handshake. Is there a server running on localhost:3306?
My current answer to this is, 'there was, but I dont know where it went :-)"
Any help appreciated
Ok, its come back to life, though it took a couple of minutes, not the 15 seconds I had banked on, this still leaves the problem of how to close all connections, perhaps I should explain what I have:
Class ReturnResult: contains code to establish connection and returns resultset. This class closes both the resultSet and connection prior to passing back the data.
Class Session: handles requests from jspPages that require session data, this class extends ReturnResult. I have a method in here called testRS that uses the following:
ResultSet rsGetText;
rsGetText = getRS("select * from pagetext");
return rsGetText;
getRS is a method of ReturnResult.
I cannot close the resultSet in the testRS method, if I do the data is not passed back to the JSP, I think this may be where the probelm lies.
In my JSP I have:
ResultSet rs = sUser.testRS();
while (rs.next())
out.println(rs.getString("english"));
rs.close();
so the resultset is closed here.
If I cannot close in the testRS before passing the data back, is it possible to use a seperate method to close the resultset from the jsp??
Thanks,
Similar Messages
-
Cannot get a connection, pool error Timeout waiting for idle object
my connection pool setting is
maxActive="3" minIdle="2" maxWait="10000" removeAbandoed="true" logAbandoned="true" removeAbandonedTimeout="30" autoreconnection="true"
we have 7 people hitting the group of search functions ,
about 3 minutes I get
I got error like
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:104) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) at Deferment.showResult.checStudent(showResult.java:135) at Deferment.showResult.doPost(showResult.java:99) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:402) at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:170) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
I just wonder
1) Cannot get a connection, pool error Timeout waiting for idle object-> cause by connection pool leaking or other problem.
2) Setting the maxactive to -1 ( suggestion from Google) , if I set my connection to ulimit , waht should I put on minIdle="2"
3) How can I test my connection pool have problem or not ? is
SHOW PROCESSLIST; tolding me someinformation? I use Mysql
Thank you!I try something like ps2 = conn.prepareStatement(target);
ps2.setString(1, UNumber); // set input parameter
rs = ps2.executeQuery();
sendMail = 0;//how many rows we can find.
while (rs.next()) {
sendMail++;
ps2.close();
rs.close();
conn.close();
if ((count1 == 0) || (count2 == 0)) {
conn.rollback();
} else {
conn.commit();
conn.setAutoCommit(true);
ps.close();
calstat2.close();
conn.close();
calstat = (CallableStatement) conn.prepareCall("{call findStudent}");
calstat.executeQuery();
calstat.close();
conn.close();is that enought? what else I should do to make sure I did close all the connection, after I use it ?
thank you -
Difference between connection pooling and simple connection
Anybody please tell me what is the Difference between connection pooling and simple connection and also where we define connection pooling and how.
Thanks
Please reply soon
amitindiaCreating and closing connection to the database is a relatively slow process. Equally connections use database resources so you can't just open as many as you want.
A connection pool maintains a number of open connections throughout the lifetime of the application. Instead of opening and closing the connections your application just "borrows" them from the pool when they're needed.
If the pool runs out of connections it will usually create new ones as needed until you reach some predefined upper limit.
A good connection pool will also manage connections which have failed for any reason, and report code which fails to return connections to the pool (ie connection leaks).
The number of connections created at startup is referred to as the "low water mark" and the maximum number that the pool will allow to be opened at any given time is the "high water mark". If no connections are available client code will generally block until one is released.
If by "defined" you mean where can you get a working implementation then your database or application server vendor is likely to provide one. Also the Apache Jakarta Commons includes [url http://jakarta.apache.org/commons/dbcp/]an implementation which you can use with any JDBC driver.
Dave. -
SOA 11.1.1.3.0 - Connection Pool has been suspended during weak load
Hi,
I have a SCA with different BPEL, all uses several db adapters.
Each db adapter has retry count set to 1.
Each bpel has the following properties:
<property name="bpel.config.transaction" many="false">required</property>
<property name="bpel.config.inMemoryOptimization">true</property>
<property name="bpel.config.completionPersistPolicy">off</property>When I do a simple load testing (with 10 concurrent threads invoking the same SCA webservice) my connection pool is suspended.
Here is my connection pool configuration:
<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.0/jdbc-data-source.xsd">
<name>DEV__DB</name>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@10.17.5.50:1521:orcl</url>
<driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name>
<properties>
<property>
<name>user</name>
<value>DEV_</value>
</property>
</properties>
<password-encrypted>{AES}UiaJC9d4Fl7jWHkcrYttu5E+wpOB4Jw1QKwTSA0ARtE=</password-encrypted>
<use-xa-data-source-interface>true</use-xa-data-source-interface>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>0</initial-capacity>
<max-capacity>100</max-capacity>
<capacity-increment>1</capacity-increment>
<shrink-frequency-seconds>900</shrink-frequency-seconds>
<highest-num-waiters>2147483647</highest-num-waiters>
<connection-creation-retry-frequency-seconds>10</connection-creation-retry-frequency-seconds>
<connection-reserve-timeout-seconds>10</connection-reserve-timeout-seconds>
<test-frequency-seconds>300</test-frequency-seconds>
<test-connections-on-reserve>true</test-connections-on-reserve>
<ignore-in-use-connections-enabled>true</ignore-in-use-connections-enabled>
<inactive-connection-timeout-seconds>0</inactive-connection-timeout-seconds>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<login-delay-seconds>0</login-delay-seconds>
<statement-cache-size>100</statement-cache-size>
<statement-cache-type>LRU</statement-cache-type>
<remove-infected-connections>true</remove-infected-connections>
<seconds-to-trust-an-idle-pool-connection>0</seconds-to-trust-an-idle-pool-connection>
<statement-timeout>-1</statement-timeout>
<jdbc-xa-debug-level>10</jdbc-xa-debug-level>
<pinned-to-thread>false</pinned-to-thread>
</jdbc-connection-pool-params>
<jdbc-data-source-params>
<jndi-name>jdbc/soSvilDB</jndi-name>
<global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol>
</jdbc-data-source-params>
<jdbc-xa-params>
<keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
<need-tx-ctx-on-close>false</need-tx-ctx-on-close>
<xa-end-only-once>false</xa-end-only-once>
<keep-logical-conn-open-on-release>false</keep-logical-conn-open-on-release>
<resource-health-monitoring>true</resource-health-monitoring>
<recover-only-once>false</recover-only-once>
<xa-set-transaction-timeout>false</xa-set-transaction-timeout>
<xa-transaction-timeout>0</xa-transaction-timeout>
<rollback-local-tx-upon-conn-close>false</rollback-local-tx-upon-conn-close>
<xa-retry-duration-seconds>300</xa-retry-duration-seconds>
<xa-retry-interval-seconds>60</xa-retry-interval-seconds>
</jdbc-xa-params>
</jdbc-data-source>Here is the error:
[2011-04-22T12:36:52.026+02:00] [OJDL] [NOTIFICATION:16] [ODL-52001] [oracle.core.ojdl.FileLogWriter] [org: Oracle] [host: soa.linux55.reply] [nwaddr: 10.17.5.69] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oracle] deleting log file: soa_server1-diagnostic-179.log, size: 10485438 bytes
[2011-04-22T12:36:51.985+02:00] [soa_server1] [ERROR] [] [oracle.soa.mediator.serviceEngine] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000Ixwm9CqEcLH5yvs1yW1DgLRV000081,0] [WEBSERVICE_PORT.name: AlarmsRetrieverPortType_pt] [APP: soa-infra] [composite_name: AlarmRetreiverProject] [component_name: AlarmRetrieverMediator] [component_instance_id: 6E8716B06CCC11E0AF65F721A176C6C2] [J2EE_MODULE.name: fabric] [dcid: 0f2f96dd491b9522:5032bc97:12f7cbc8b1d:-7ffc-0000000000001701] [WEBSERVICE.name: AlarmRetrieverMediator_ep] [J2EE_APP.name: soa-infra] [composite_instance_id: 250014] Got an exception: oracle.fabric.common.FabricInvocationException: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}[[
parts: {{
summary=<summary>Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'GetTrainAlarms_dba' failed due to: Pure SQL Exception.
Pure SQL Execute of select aa.* from <OMITTED>
Caused by java.sql.SQLException: Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool DEV__DB is Suspended, cannot allocate resources to applications..
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:357)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:440)
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:61)
at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1670)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1438)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:439)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:396)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:355)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:126)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:94)
at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:327)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:295)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.reconnect(DatasourceAccessor.java:558)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1437)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:303)
at oracle.tip.adapter.db.DBConnection.getTopLinkSQLConnection(DBConnection.java:335)
at oracle.tip.adapter.db.transaction.DBTransaction.beginInternal(DBTransaction.java:126)
at oracle.tip.adapter.db.puresql.PureSQLInteraction.executePureSQL(PureSQLInteraction.java:165)
at oracle.tip.adapter.db.DBInteraction.executePureSQL(DBInteraction.java:1178)
at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:255)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:303)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:519)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeSyncJcaReference(JCAInteractionInvoker.java:492)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performSynchronousInteraction(JCAEndpointInteraction.java:472)
at oracle.integration.platform.blocks.adapter.AdapterReference.request(AdapterReference.java:166)
at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy284.request(Unknown Source)
at oracle.fabric.CubeServiceEngine.requestToMesh(CubeServiceEngine.java:797)
at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:262)
at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1073)
at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:526)
at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:127)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:70)
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:1133)
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:4282)
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.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:108)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvokeParticipate(CubeEngineBean.java:186)
at sun.reflect.GeneratedMethodAccessor930.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.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 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.GeneratedMethodAccessor833.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 $Proxy282.syncCreateAndInvokeParticipate(Unknown Source)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.syncCreateAndInvokeParticipate(BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.java:328)
at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:788)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:528)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:487)
at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:162)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.request(CubeDeliveryBean.java:607)
at sun.reflect.GeneratedMethodAccessor933.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.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 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.GeneratedMethodAccessor833.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 $Proxy279.request(Unknown Source)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.request(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:462)
at oracle.fabric.CubeServiceEngine.request(CubeServiceEngine.java:358)
at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy284.request(Unknown Source)
at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.request2Mesh(MediatorServiceEngine.java:1063)
at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:202)
at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:94)
at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:74)
at oracle.tip.mediator.service.SyncRequestResponseHandler.process(SyncRequestResponseHandler.java:79)
at oracle.tip.mediator.service.ActionProcessor.onMessage(ActionProcessor.java:64)
at oracle.tip.mediator.dispatch.MessageDispatcher.executeCase(MessageDispatcher.java:140)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCase(InitialMessageDispatcher.java:495)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCases(InitialMessageDispatcher.java:393)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processNormalCases(InitialMessageDispatcher.java:276)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCases(InitialMessageDispatcher.java:251)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.dispatch(InitialMessageDispatcher.java:148)
at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.process(MediatorServiceEngine.java:860)
at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.request(MediatorServiceEngine.java:716)
at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy284.request(Unknown Source)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.doMessageProcessing(WebServiceEntryBindingComponent.java:1169)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:768)
at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1168)
at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:996)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:562)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:222)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:186)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:430)
at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:477)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
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:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
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)
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.
</summary>
,detail=<detail>Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool DEV__DB is Suspended, cannot allocate resources to applications..
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:357)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:440)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
</detail>
,code=<code>0</code>}
oracle.tip.mediator.infra.exception.MediatorException: ORAMED-03303:[Unexpected exception in case execution]Unexpected exception in request response operation "process" on reference "DEV_bpel_client". Possible Fix:Check whether the reference service is properly configured and running or look at exception for analysing the reason or contact oracle support.
at oracle.tip.mediator.service.SyncRequestResponseHandler.handleFault(SyncRequestResponseHandler.java:215)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: oracle.fabric.common.FabricInvocationException: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}I configured it using the Oracle User Guide For Technology Adapters, paragraph 2.21, but I still have the issue.
Please can someone help me out?Also, the strange thing is that if I monitor the Datasource (that has a 100 conn. capacity) I see that it is not overloaded:
Server Sorted Ascending Enabled State JDBC Driver Active Connections Average Count Active Connections Current Count Active Connections High Count Connection Delay Time Connections Total Count Curr Capacity High Count Current Capacity Failed Reserve Request Count Failures To Reconnect Count Highest Num Available Leaked Connection Count Num Available Num Unavailable Prep Stmt Cache Add Count Prep Stmt Cache Current Size Prep Stmt Cache Delete Count Prep Stmt Cache Hit Count Prep Stmt Cache Miss Count PrepStmt Cache Access Count Reserve Request Count Wait Seconds High Count Waiting For Connection Current Count Waiting For Connection Failure Total Waiting For Connection High Count Waiting For Connection Success Total Waiting For Connection Total
soa_server1 false Suspended oracle.jdbc.xa.client.OracleXADataSource 0 9 9 19049 36 10 9 81 0 10 0 0 9 18 18 0 0 18 18 380 0 0 0 0 35 0 -
Connection Pooling much faster but eventually brings down the site
Hello,
We are running Oracle 11g, with ODP.net. When we have connection pooling turned off the site is very slow. When we turn it on, the site runs very fast, but will all of a sudden slow down to a crash and require an IIS restart. (We will receive many oracle connection timeouts). After checking the Event Viewer, the site crash seems to coincide with a stored procedure crash, though we aren't positive that this is the case. We are running IIS on windows 2k3 asp.net 3.5.
Any assistance is greatly appreciated.It sounds like you're describing a connection leak, and those are usually the result of code not cleaning up after itself properly. Make sure you're calling Dispose on all your objects as soon as you're done with them so the GC can free up the resources.. OracleConnection, OracleCommand, OracleRefcursor, OracleClob, OracleXMLType, OracleParameters, etc.
Also make sure you're up to the latest version of ODP and client. There were some issues in earlier versions where an access violation could leave a hung critical section and hang the pool.
Hope it helps,
Greg -
All connections in the universal connection pool are in use
I know it's the problem with connection pool is leaking or the some of the connection is not being released properly. Where are the parameters I can change in Weblogic?
I'm getting the following error in my OIM application running on WebLogic:
java.sql.SQLException: Exception occurred while getting connection: oracle.ucp.UniversalConnectionPoolException: All connections in the Universal Connection Pool are in use
at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:541)
at oracle.ucp.jdbc.PoolDataSourceImpl.throwSQLException(PoolDataSourceImpl.java:587)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:668)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:613)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:607)
at com.thortech.xl.util.DirectDB$DBPoolManager.getConnection(DirectDB.java:429)
at com.thortech.xl.util.DirectDB.getConnection(DirectDB.java:176)
at com.thortech.xl.dataaccess.tcDataBase.getConnection(tcDataBase.java:3217)
at com.thortech.xl.dataaccess.tcDataBase.readPartialPreparedStatement(tcDataBase.java:1229)
at com.thortech.xl.dataaccess.tcDataBase.readPreparedStatement(tcDataBase.java:1158)
at com.thortech.xl.ejb.databeansimpl.tcDataBaseBean.readPreparedStatement(tcDataBaseBean.java:426)
at com.thortech.xl.ejb.interfaces.tcDataBaseEJB.readPreparedStatementx(Unknown Source)
at sun.reflect.GeneratedMethodAccessor850.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.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.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 $Proxy291.readPreparedStatementx(Unknown Source)
at com.thortech.xl.ejb.interfaces.tcDataBase_dco355_tcDataBaseRemoteImpl.readPreparedStatementx(tcDataBase_dco355_tcDataBaseRemoteImpl.java:1828)
at sun.reflect.GeneratedMethodAccessor1467.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:84)
at $Proxy292.readPreparedStatementx(Unknown Source)
at com.thortech.xl.ejb.interfaces.tcDataBaseDelegate.readPreparedStatement(Unknown Source)
at sun.reflect.GeneratedMethodAccessor848.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at Thor.API.Base.SecurityInvocationHandler$1.run(SecurityInvocationHandler.java:68)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.security.Security.runAs(Security.java:41)
at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
at Thor.API.Base.SecurityInvocationHandler.invoke(SecurityInvocationHandler.java:79)
at $Proxy293.readPreparedStatement(Unknown Source)
at com.thortech.xl.dataaccess.tcDataBaseClient.readPreparedStatement(tcDataBaseClient.java:621)
at com.thortech.xl.dataobj.PreparedStatementUtil.execute(PreparedStatementUtil.java:60)
at com.thortech.xl.schedule.tasks.ReIssueAuditMessage.processAllByIdentifier(ReIssueAuditMessage.java:98)
at com.thortech.xl.schedule.tasks.ReIssueAuditMessage.execute(ReIssueAuditMessage.java:78)
at com.thortech.xl.scheduler.tasks.SchedulerBaseTask.execute(SchedulerBaseTask.java:384)
at oracle.iam.scheduler.vo.TaskSupport.executeJob(TaskSupport.java:144)
at sun.reflect.GeneratedMethodAccessor1653.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at oracle.iam.scheduler.impl.quartz.QuartzJob.execute(QuartzJob.java:167)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
Caused by: oracle.ucp.UniversalConnectionPoolException: All connections in the Universal Connection Pool are in use
at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:421)
at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:389)
at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:403)
at oracle.ucp.common.UniversalConnectionPoolImpl.newConnectionWaitFailedException(UniversalConnectionPoolImpl.java:416)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionWithoutCountingRequests(UniversalConnectionPoolImpl.java:279)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnection(UniversalConnectionPoolImpl.java:129)
at oracle.ucp.jdbc.JDBCConnectionPool.borrowConnection(JDBCConnectionPool.java:119)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:655)
... 58 moreIt's not an issue WebLogic can address. The thortech application is independently using
the UCP connection pool product, not WebLogic connection pooling, so Thortech APIs
would be the only way to debug/reconfigure the UCP. -
Use of Semaphore in addition to db connection pool
Hi,
I have a multi-threaded app, about 4 threads, reading from a local DB then pushing to a web service,
then writing a response back to the local DB. I'm using Commons DBCP with a size of 20.
Do you think there is any added benefit to using semaphore to safe-guard access to the DB pool?
Will this prevent any deadlocks in a more thorough manner?iketurner wrote:
Yes,
after I am done with the connection I explicitly close it:
conn.closeThis should handle things for me.
I will add in the use of finally
Will this make a difference you think, even though I am using conn.close()?whenever you use a "resource" you should close it in a finally block. otherwise you can leak resources if you encounter problems (i.e. throw exception):
Connection c = null;
try {
c = ...;
// do something with c
} finally {
if(c != null) {
c.close();
}this is a must if you are using db connections, otherwise an exception thrown during the "do something with c" part will cause your connection to not be closed. then you would encounter problems later as all you run out of connections in your connection pool and your application hangs. -
Weblogic 8.1 Connection Pool and jta
Hi ! I am getting the below exception while migrating my application from weblogic
6.1sp2 to weblogic 8.1. When I migrate to weblogic 7.0 sp2 there are no problems.
The problem occurs specifically when I save an record using a container managed
transaction thru a stateless session bean. The save itself works, but when I
refresh my JSP, I get the following exception. Keep in mind that the same application
works fine in 7.0.
Thanks,
Eddie
java.sql.SQLException: Cannot obtain connection: driverURL = jdbc:weblogic:pool:Sybdev07Pool,
props = {enableTwoPhaseCommit=true, jdbcTxDataSource=true, connectionPoolID=Sybdev07Pool,
dataSourceName=sdaapadrDB}. Nested Exception: java.lang.RuntimeException: Failed
to setAutoCommit to true for pool connection. at weblogic.jdbc.wrapper.PoolConnection.init(PoolConnection.java:38)
at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:248) at weblogic.jdbc.pool.Driver.connect(Driver.java:158)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:444) at weblogic.jdbc.jts.Driver.connect(Driver.java:138)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:298)
atHi Eddie,
"Eddie Baue" <[email protected]> wrote in message
news:[email protected]...
In addition to the exception below, which is displayed on the browser,the
weblogic server log has the following error:
####<Aug 1, 2003 11:50:24 AM EDT> <Warning> <JDBC> <6X19DYSZH1ZV><wla_adruat>
<Finalizer> <<anonymous>> <> <BEA-001074> <A JDBC pool connection leak wasdetected.
A connection leak occurs when a connection obtained from the pool was notclosed
explicitly by calling close() and then was disposed by the garbagecollector and
returned to the connection pool. The following stack trace at create showswhere
the leaked connection was created. [Null exception passed, creating stack
trace> for offending caller
atweblogic.utils.StackTraceUtils.throwable2StackTrace(StackTraceUtils.java:28)
at weblogic.jdbc.wrapper.PoolConnection.finalize(PoolConnection.java:69)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)The only case it's possible is when the weblogic.jdbc.wrapper.PoolConnection
failed during instantiation process and GC kicked in before the
Throwable holding stack trace at create was initialized.
I believe this is the result of the exception below and you can not see
this under normal circumstances.
Regards,
Slava Imeshev
>
Any info would be greatly appreciated.
Thanks,
Eddie
"Eddie Baue" <[email protected]> wrote:
Hi ! I am getting the below exception while migrating my application
from weblogic
6.1sp2 to weblogic 8.1. When I migrate to weblogic 7.0 sp2 there are
no problems.
The problem occurs specifically when I save an record using a container
managed
transaction thru a stateless session bean. The save itself works, but
when I
refresh my JSP, I get the following exception. Keep in mind that the
same application
works fine in 7.0.
Thanks,
Eddie
java.sql.SQLException: Cannot obtain connection: driverURL =
jdbc:weblogic:pool:Sybdev07Pool,
props = {enableTwoPhaseCommit=true, jdbcTxDataSource=true,connectionPoolID=Sybdev07Pool,> >dataSourceName=sdaapadrDB. Nested Exception: java.lang.RuntimeException:
Failed
to setAutoCommit to true for pool connection. at
weblogic.jdbc.wrapper.PoolConnection.init(PoolConnection.java:38)
at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:248) atweblogic.jdbc.pool.Driver.connect(Driver.java:158)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:444) atweblogic.jdbc.jts.Driver.connect(Driver.java:138)
atweblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java
:298)
at -
How to retrieve a Connection Pool name form a DataSource
I couldn't find a way of retrieving JDBC Connection Pool name (or JDBCConnectionPoolRuntimeMBean
object) from a DataSource object.
I use the standard approach to get a Datasource:
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, sJndiUrl);
ctx = new InitialContext(ht);
dataSource = (javax.sql.DataSource) ctx.lookup (s);
It works fine !
I know that each datasource is mapped to a connection pool & need to retrieve
either connection pool's name or JDBCConnectionPoolRuntimeMBean object from the
datasource, but didn't find any function that would allow me to do that."Oleg Gryb" <[email protected]> wrote:
>
I couldn't find a way of retrieving JDBC Connection Pool name (or JDBCConnectionPoolRuntimeMBean
object) from a DataSource object.
I've just found a solution for that, but didn't like it too much because it uses
undocumented class & function. Probably BEA should include the documentation for
weblogic.jdbc.common.internal.RmiDataSource or provide an alternative way of getting
JDBCConnectionPoolRuntimeMBean object from a datasource. The solution is below:
RmiDataSource dataSource = (RmiDataSource) ctx.lookup (s);
Properties propDs = dataSource.getDriverProperties();
String sPoolName = propDs.getProperty("connectionPoolID");
MBeanHome mbeanAdmin = (MBeanHome)ctx.lookup(MBeanHome.LOCAL_JNDI_NAME);
JDBCConnectionPoolRuntimeMBean jdbcPool = (JDBCConnectionPoolRuntimeMBean)
mbeanAdmin.getRuntimeMBean(sPool,"JDBCConnectionPoolRuntime");
Now I have JDBCConnectionPoolRuntimeMBean object that I can use to access different
kind of pool's counts, e.g. number of current connections, number of leaked connections,
etc. I need this information to monitor pool programmatically & send alerts to
a suport team if e.g. number of active connections reaches a certain threshold.
If there is a better way of doing this please let me know.
Please also notice that I don't want an application to know anything about the
Connection Pool being used, an application should know only about a datasource.
Thanks. -
RFC_FAILURE affects Connection Pool
Using VB.NET (2003) with .Net Connector 2.0.
An intermittent problem causes a RFC Call to fail, and an exception is raised in the .NET code. The Exception message is:
See RFC trace file or SAP system log for more details
The Trace file shows:
ERROR file opened at 20051115 131423 GMT Standard
T, SAP-REL 640,0,78 RFC-VER 3 759904 MT-SL
<b>T:2844 Could not send rfc container 0x130
T:2844 <* RfcCall [1] : returns 1:RFC_FAILURE
T:2844 <* RfcCallReceive [1] : returns 1:RFC_FAILURE
>TS> Tue Nov 15 13:14:24 2005
T:2844 <* RfcCleanupContext [1] : returns
18:RFC_INVALID_HANDLE
T:2844 <* RfcCleanupContext [1] : returns
18:RFC_INVALID_HANDLE</b>
This error adversely affects the Connection Pool as calls to other RFCs are now prone to similar intermittent errors
Is there any way to prevent the problem causing problems with Connection Pool ?
Is there any way of removing a faulty connection from the pool ? (NB Close and Dispose on the connection does not help)The application is a Windows service - so I don't want to lose any connections. I assume that closing the connection (and not returning it) will affect the number of available connections in the pool(?).
I'm using async. RFC call, and the problem is detected in the callback function when the EndRFCCall is performed.
Original code:
Public Sub Execute_RFC(ByVal parameters as string())
' Assign SAP Connection to RFC Proxy
sapRFCProxy.Connection = SAPConnectionPool.GetConnectionFromPool(<i>ConnectString</i>)
Call the SAP RFC - Asynchronously
arAsyncResult = m_sapRFCProxy.BeginRFCCall( params..., AddressOf RFC_CallBack, objAsyncState)
End Sub
Private Sub RFC_CallBack(ByVal ar As IAsyncResult)
Try
' Retrieve the SAP RFC Response...
Call sapRFCProxy.EndRFCCall(ar, <i>param1, param2, etc...</i>)
Catch ex As Exception
' Log the Error...
End Try
' Return the Connection
Call SAPConnections.ReturnConnection(sapRFCProxy.Connection)
End Sub
I have changed the code as suggest so that the connection is closed, disposed but <u>not</u> returned. This cleared the RFC_INVALID_HANDLE errors, but the main problem of a corrupted connection persists.
Diagnostics produced by the amended code:
<u>Trace File (Info):</u>
2005-11-16 11:55:46Z Warning: RfcCleanupContext failed. Closing connection
<u>dev_RFC.trc</u>
ERROR file opened at 20051116 115546 GMT Standard T, SAP-REL 640,0,78 RFC-VER 3 759904 MT-SL
T:3068 ======> CPIC-CALL: 'CMSEND'
ERROR program state check for conversation 99610798
TIME Wed Nov 16 11:55:46 2005
RELEASE 640
COMPONENT CPIC (TCP/IP)
VERSION 3
RC 471
MODULE r3cpic.c
LINE 2576
DETAIL called function STSEND in state state=BUFFER_DATA2
COUNTER 1
T:3068 <* RfcCall [20] : returns 1:RFC_FAILURE
T:3068 <* RfcCallReceive [20] : returns 1:RFC_FAILURE
T:3068 <* RfcCleanupContext [20] : returns 1:RFC_FAILURE
Even with the change to the code, a call to a reliable RFC will now fail <u>intermittently</u> with:
T:2876 Could not send rfc container 0x130
T:2876 <* RfcCall [24] : returns 1:RFC_FAILURE
T:2876 <* RfcCallReceive [24] : returns 1:RFC_FAILURE
Thanks -
Connection pool / db failure
WLS6.0 sp2 / Win2k
Oracle 8.1.7 / Solaris 8
problem is if DB fails, the connection pool fails, and will not restart. If I run a java weblogic.Admin EXISTS_POOL command, it says the pool doesnt exist.
If i run a RESET_POOL, using the system user password, it comes back with:
Exception in thread "main" javax.naming.AuthenticationException. Root exception is java.lang.Securi
tyException: Authentication for user guest denied in realm weblogic
<<no stack trace available>>
I have test on reserved set (and dual as the table).
Anyone shed any light on what could be going wrong, because right now, every time the DB fails, we have to restart the **&$"&^ server.... (and that takes around 20mins for all the apps to init)
tks
willHi Will,
When you bring up the server, if the database is down, your connection pools
will not come up if you have an initial capacity greater than 0. This is a
known issue and the workaround for this is to set the initial capacity to
zero so the pool comes up even when the database is down, then make sure you
set the capacity increment to the value that you like your initial capacity
to be and have the TestConnectionOnReserve to true.
hth
sree
"Will" <[email protected]> wrote in message
news:3d13111f$[email protected]..
WLS6.0 sp2 / Win2k
Oracle 8.1.7 / Solaris 8
problem is if DB fails, the connection pool fails, and will not restart.If I run a java weblogic.Admin EXISTS_POOL command, it says the pool doesnt
exist.
If i run a RESET_POOL, using the system user password, it comes back with:
Exception in thread "main" javax.naming.AuthenticationException. Rootexception is java.lang.Securi
tyException: Authentication for user guest denied in realm weblogic
<<no stack trace available>>
I have test on reserved set (and dual as the table).
Anyone shed any light on what could be going wrong, because right now,every time the DB fails, we have to restart the **&$"&^ server.... (and that
takes around 20mins for all the apps to init)
>
tks
will -
Hi Everyone
My Connection Pool parameters JCO api.
client=300
user=SISGERAL_RFC
passwd=******
ashost=14.29.3.120
sysnr=00
size=10
I have these parameters on my Connection Pool and sometimes appear these wrongs in my application:
1.
2006-01-07 13:20:37,414 ERROR com.tel.webapp.framework.SAPDataSource - ##### Time limit exceeded. LOCALIZED MESSAGE = Time limit exceeded. KEY = RFC_ERROR_SYSTEM_FAILURE GROUP = 104 TOSTRING = com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Time limit exceeded.
2.
2006-01-07 14:01:31,007 ERROR com.tel.webapp.framework.SapPoolConnectionManager - Timeout
Id like to know if is happening.
Are there something wrong with my connection pool?
What can be happening?
ThanksRaghu,
Thanks for your response.
Yes, the pool connections are in place according to the sAP note mentioned above.
Regards,
Faisal -
Connection Pool Failure: "No suitable driver"
Hi,
Upon server startup, I get the following result:
<Nov 7, 2001 4:18:32 PM CST> <Error> <JDBC> <Cannot startup connection pool "ora
cleTrufflePool" No suitable driver>
I assumed it was a path problem, but in the startWebLogic.cmd script I've set the PATH and CLASSPATH variables to the same as in a separate command window that can successfully dbping the Oracle db.
One thing I completely don't understand is what the URL value should be for the pool, and I can't see a pattern in the examples and docs I've found on this. Here are my pool settings, at any rate:
Name: oracleTrufflePool
URL: myOracleServerName
Driver Classname: weblogic.jdbc.oci.Driver
Properties:
user=user
password=password
server=myOracleServerName
ACLName: user
Password: password
As you can see, I also don't understand whether the Oracle user name and password must be duplicated in the Properties section, or should they really only be listed in the ACLName and Password fields (in the Server Console UI)?
TIA,
SteveHi. The issue is that the URL you give is not the URL the driver (weblogic.jdbc.oci.Driver)
wants. The URL should be "jdbc:webLogic:oci". The properties user, password and server
will be passed to the driver for conenction attempts. The ACL is for who gets to use the
pool, and the other password entry is only if you need the DBMS password to be encrypted
in the XML. If so, set that password value, and don't have it in the driver properties.
Joe
Steve Clark wrote:
>
Hi,
Upon server startup, I get the following result:
<Nov 7, 2001 4:18:32 PM CST> <Error> <JDBC> <Cannot startup connection pool "ora
cleTrufflePool" No suitable driver>
I assumed it was a path problem, but in the startWebLogic.cmd script I've set the PATH and CLASSPATH variables to the same as in a separate command window that can successfully dbping the Oracle db.
One thing I completely don't understand is what the URL value should be for the pool, and I can't see a pattern in the examples and docs I've found on this. Here are my pool settings, at any rate:
Name: oracleTrufflePool
URL: myOracleServerName
Driver Classname: weblogic.jdbc.oci.Driver
Properties:
user=user
password=password
server=myOracleServerName
ACLName: user
Password: password
As you can see, I also don't understand whether the Oracle user name and password must be duplicated in the Properties section, or should they really only be listed in the ACLName and Password fields (in the Server Console UI)?
TIA,
Steve -
Hello. I'm using wls 5.1 and Oracle 8i and an unable to make a connection pool. I keep getting the following with the message below. Where and how do I change my path?
weblogic.common.ResourceException: weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: System.loadLibrary threw java.lang.UnsatisfiedLinkError
'no weblogicoci36 in java.library.path'.
at weblogic.jdbcbase.oci.Driver.connect(Driver.java:116)Hi,
You need to ensure that the ORACLE_HOME is set and PATH has
%ORACLE_HOME%\bin;%ORACLE_HOME%\lib;%WL_HOME%\bin\oci816_8 (check verison of
database) in the server startup script.
hth
sree
"Purvi" <porgie_76@> wrote in message news:3c6306f9$[email protected]..
Hello. I'm using wls 5.1 and Oracle 8i and an unable to make a connection
pool. I keep getting the following with the message below. Where and how do
I change my path?
weblogic.common.ResourceException: weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: System.loadLibrary threw
java.lang.UnsatisfiedLinkError
'no weblogicoci36 in java.library.path'.
at weblogic.jdbcbase.oci.Driver.connect(Driver.java:116) -
Easy JNDI + Connection Pool Question
This is an easy question:
Once I get the object represented by my connection pool from the
Weblogic JNDI tree, how do I get a connection from the returned object
of type weblogic.common.internal.ResourceAllocator?
I keep getting ClassCastExceptions. I have tried
ConnectionPoolDataSource, Connection, and DataSource.
String conPool = "weblogic.jdbc.connectionPool.demoPool";
try {
Object obj = ctx.lookup(conPool);
msg(DEBUG,"FROM LOOKUP" + obj.getClass().getName());
//DataSource ds = (DataSource)ctx.lookup(conPool);
//con = ds.getConnection();
} catch (NameNotFoundException e) {
// binding does not exist
msg(ERROR,"BINDING DOES NOT EXIST",e);
} catch (NamingException e) {
// a failure occurred
msg(ERROR,"NAMING FAILURE OCCURED",e);
} catch (Exception e) {
msg(ERROR,"SOME RANDOM ERROR",e);
Thanks,
-Jacob"Jacob Meushaw" wrote in message
Once I get the object represented by my connection pool from the
Weblogic JNDI tree, how do I get a connection from the returned object
of type weblogic.common.internal.ResourceAllocator?
I keep getting ClassCastExceptions.
DataSource ds = (DataSource)ctx.lookup(conPool);I think, you must use narrow operation:
Object reference = ctx.lookup(conPool);
DataSource ds =
(DataSource) PortableRemoteObject.narrow (ds,DataSource.class);
I haven't got time to check it, but I hope that works.
Wojtek
Maybe you are looking for
-
How do I run a thread without its panel.
I have created a vi in my application that I run as a thread. I run the thread by using an invoke node. When I am testing under LabView everything is fine but when I create the executable I have found problems. As I am starting the thread with an inv
-
How to get a movie to be loading in background?
Hi, I posted this in the General forum, but it wasn't getting much interest. I'm hoping someone here can help. We're designing a portfolio site. It will have a fairly large amount of large bitmap images that need to look really good. I'll make anothe
-
OAS's application migrates 4.0.8 to the OAS 10G
I am trying to migrate an application that runs in 4.0.8 to the OAS 10G, and i want to know if you know if some procedure for best practice for do this.
-
Set program to be transparent on login
How can I set a program to be transparent on login with transset? Thanks
-
Premiere Elements 11 will not open Projects
I had to rebuild my Win 7 PC. Now Premiere Elements 11 will not open Projects saying that the file types are not supported. It will not open raw DV files either.