My Oracle Support Banner

Connection Pool Lock Due To Runabandonedtimeout() Method in Oracle Application Server (Doc ID 1347015.1)

Last updated on AUGUST 28, 2023

Applies to:

Oracle Containers for J2EE - Version to [Release AS10gR3]
Information in this document applies to any platform.


A J2EE application deployed to Oracle Application Server (OAS) connects to a 2-node RAC database via JDBC

The connections are made through managed datasource of the OC4J instance.
OC4J hangs or restarts automatically due to a connection pool lock.

It is suspected that this lock is caused by internal JDBC method - runAbandonedTimeout().

Thread Dump Analysis screenshot from "Thread and Monitor Dump Analyzer for Java" shows:

Thread Name: Thread-11

State: Waiting on monitor

Monitor: Waiting for Monitor Lock on 0x8376ad18
Owns Monitor Lock on 0x7c93e660

Java Stack:
at oracle.jdbc.driver.PhysicalConnection.rollback(
- waiting to lock [0x8376ad18] (a oracle.jdbc.driver.T4CConnection)
at oracle.jdbc.OracleConnectionWrapper.rollback(
at oracle.jdbc.pool.OracleImplicitConnectionCache.closeCheckedOutConnection(
at oracle.jdbc.pool.OracleImplicitConnectionCacheThread.runAbandonedTimeout(
- locked [0x7c93e660] (a oracle.jdbc.pool.OracleImplicitConnectionCache)

Native Stack: No Native stack trace available



In OC4J connection pool configuration file (data-sources.xml), the abandoned-connection-timeout="900" parameter was added.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.