commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dirk Verbeeck <dirk.verbe...@pandora.be>
Subject Re: Problem using dbcp 1.2 at PoolableConnectionFactory
Date Thu, 03 Jun 2004 17:42:53 GMT
Since you have the problem with both 1.1 & 1.2 we can conclude it is 
more likely to be an oracle driver/connection problem.

I say this because the lock in PoolableConnectionFactory.makeObject is 
there from the start. Secondly if you look closely at the first 
stacktrace you will see a second lock in the oracle driver:
   at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:215)
   - locked <0x48a1cd58> (a oracle.jdbc.ttc7.TTC7Protocol)

So even if the DBCP lock was removed then the oracle driver would be 
synchronized/locked on the logon method.

About your question of the driver.
oracle.jdbc.OracleDriver extends oracle.jdbc.driver.OracleDriver
The first one is the old location of the driver and is now an empty 
subclass to remain compatible.

You are probably using the thin driver. If possible switch to the oci 
driver. You can enable more oracle tracing with oci.

-- Dirk

Innovest Ken wrote:
> hi all,
> 
> Got a problem after using the new v1.2 dbcp file. The
> tomcat will hang after sometime. I did a thread dump,
> and discover that all threads are waiting to get
> connection. But 1 thread is locking the
> org.apache.commons.dbcp.PoolableConnectionFactory.
> 
> The following thread 196 is locking the
> PoolableConnectionFactory while all other threads are
> waiting for the factory class...
> 
> And I also notice that although I have installed the
> latest Oracle driver file, in the server.xml I put 
> <value>oracle.jdbc.OracleDriver</value>, but the
> thread dump below still shows
> oracle.jdbc.driver.OracleDriver. Any idea why?
> 
> "http80-Processor196" daemon prio=1 tid=0x59f322f8
> nid=0x298a waiting for monitor entry
> [aabfe000..aabff8d8]
>         at
> oracle.net.ano.AuthenticationService.a(AuthenticationService)
>         at oracle.net.ano.Ano.e(Ano)
>         at oracle.net.ano.Ano.init(Ano)
>         at oracle.net.ns.NSProtocol.connect(Unknown
> Source)
>         at
> oracle.jdbc.ttc7.TTC7Protocol.connect(TTC7Protocol.java:1689)
>         at
> oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:215)
>         - locked <0x48a1cd58> (a
> oracle.jdbc.ttc7.TTC7Protocol)
>         at
> oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:360)
>         at
> oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:521)
>         at
> oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:325)
>         at
> org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
>         at
> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
>         - locked <0x49f62f40> (a
> org.apache.commons.dbcp.PoolableConnectionFactory)
>         at
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:771)
>         at
> org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
>         at
> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
> 
> 
> 
> "http80-Processor200" daemon prio=1 tid=0x082aeb80
> nid=0x2b54 waiting for monitor entry
> [a9bff000..a9bff8d8]
>         at
> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
>         - waiting to lock <0x49f62f40> (a
> org.apache.commons.dbcp.PoolableConnectionFactory)
>         at
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:771)
>         at
> org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
>         at
> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
> 
> 
> innovest
> 
> 
> 
> 	
> 		
> __________________________________
> Do you Yahoo!?
> Friends.  Fun.  Try the all-new Yahoo! Messenger.
> http://messenger.yahoo.com/ 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
> 
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message