commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Illsley (JIRA)" <j...@apache.org>
Subject [jira] Moved: (DBCP-195) Bad performance in PoolableConnectionFactory
Date Sat, 29 Jul 2006 14:36:14 GMT
     [ http://issues.apache.org/jira/browse/DBCP-195?page=all ]

David Illsley moved WSCOMMONS-56 to DBCP-195:
---------------------------------------------

        Project: Commons Dbcp  (was: WS-Commons)
            Key: DBCP-195  (was: WSCOMMONS-56)
    Component/s:     (was: General)

> Bad performance in PoolableConnectionFactory
> --------------------------------------------
>
>                 Key: DBCP-195
>                 URL: http://issues.apache.org/jira/browse/DBCP-195
>             Project: Commons Dbcp
>          Issue Type: Bug
>         Environment: Windows XP pro, Sun solaris.
> Oracle 10g DB. oracle.jdbc.driver.OracleDriver driver.
>            Reporter: oded peer
>
> the activateObject() method in PoolableConnectionFactory has bad performance using the
oracle.jdbc.driver.OracleDriver driver.
> conn.setAutoCommit(_defaultAutoCommit); is always called. This issues a sotred procedure
in oracle.jdbc.dbacces.DBAccess.setAutoCommit().
> conn.setReadOnly(_defaultReadOnly.booleanValue()); creates a prepared statement and executes
it in oracle.jdbc.driver.OracleConnection.setReadOnly()
> I tried to avoid this behavior by doing conditionally, only if the property changed:

> Connection conn = (Connection)obj;
> if ( _defaultAutoCommit != conn.getAutoCommit ( ) )
> {
> 	conn.setAutoCommit(_defaultAutoCommit);
> }
> if ( (_defaultTransactionIsolation != -1) && conn.getTransactionIsolation ( )
!= _defaultTransactionIsolation )
> {
> 	conn.setTransactionIsolation(_defaultTransactionIsolation);
> }			
> if ( (_defaultReadOnly != null) && ! _defaultReadOnly.equals (  Boolean.valueOf
( conn.isReadOnly ( ) ) ) )
> {
> 	conn.setReadOnly(_defaultReadOnly.booleanValue());
> }
> if ( _defaultCatalog != null && ! conn.getCatalog ( ).equals ( _defaultCatalog
) )
> {
> 	conn.setCatalog(_defaultCatalog);
> }
> When running 30 threads this solution takes 10 millis per getConnection(), while the
current version takes 90 millis.
> Do you think this solution can cause any problems?
> Thanks,
> Oded

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message