[
https://issues.apache.org/jira/browse/DBCP-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eugene Krylov resolved DBCP-293.
--------------------------------
Resolution: Fixed
Fix Version/s: 1.3
This appears to be working in the latest trunk version. Sorry about any
inconvenience.
> Closed statement exception using Oracle 11g and JDK Jrockit 1.6
> ---------------------------------------------------------------
>
> Key: DBCP-293
> URL: https://issues.apache.org/jira/browse/DBCP-293
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.2.1
> Environment: dbcp 1.2.1
> Oracle 11g,
> oracle driver from weblogic 10.3 distribution
> server/ext/jdbc/oracle/11g/ojdbc6.jar,
> $ java -version
> java version "1.6.0_05"
> Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
> BEA JRockit(R) (build R27.6.0-50_o-100423-1.6.0_05-20080626-2104-linux-ia32,
> compiled mode)
> Reporter: Eugene Krylov
> Fix For: 1.3
>
>
> After upgrade to latest version of weblogic which now includes jdk 1.6 I am
> running into an exception where statements appear to be closed but still
> reside in the statement cache. It appears related to transaction rollback and
> closing of connection for which statement was originally prepared. Exception
> stack is as follows:
> java.sql.SQLException: Closed Statement
> at
> oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
> at
> oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
> at
> oracle.jdbc.driver.OracleClosedStatement.setQueryTimeout(OracleClosedStatement.java:2438)
> at
> oracle.jdbc.driver.OracleStatementWrapper.setQueryTimeout(OracleStatementWrapper.java:250)
> at
> org.apache.commons.dbcp.DelegatingStatement.setQueryTimeout(DelegatingStatement.java:246)
> at
> org.apache.commons.dbcp.DelegatingStatement.setQueryTimeout(DelegatingStatement.java:246)
> at
> com.healthedge.j2ee.DBConnectionImpl.prepareStatement(DBConnectionImpl.java:208)
> Jocl file looks like this:
> <?xml version="1.0"?>
> <object class="org.apache.commons.dbcp.PoolableConnectionFactory"
> xmlns="http://apache.org/xml/xmlns/jakarta/commons/jocl">
>
> <!--
> The first argument to PoolableConnectionFactory is a ConnectionFactory.
> We'll use a DriverManagerConnectionFactory, passing in the appropriate
> connect string for the underlying driver.
> -->
> <object class="org.apache.commons.dbcp.DriverManagerConnectionFactory">
> <string value="jdbc:oracle:thin:@localhost:1521:orcl"/>
> <string value="schema"/>
> <string value="password"/>
> </object>
>
> <!--
> The next argument is the pool to use. We'll use a StackObjectPool,
> although any implementation of ObjectPool should suffice.
>
> Since we are running on single connection from the client anyway,
> there is not a need to tune this to perfection.
> -->
> <object class="org.apache.commons.pool.impl.StackObjectPool"/>
>
> <!--
> The next argument is the KeyedObjectPoolFactory to use to create pools
> for storing PreparedStatements. This functionality is optional, it can
> be disabled by using the line below.
> <object class="org.apache.commons.pool.KeyedObjectPoolFactory"
> null="true"/>
> -->
> <object class="org.apache.commons.pool.impl.GenericKeyedObjectPoolFactory">
> <object class="org.apache.commons.pool.KeyedPoolableObjectFactory"
> null="true"/>
>
> <int value="20"/>
> <byte value="2"/>
> <long value="2000"/>
> <int value="200"/>
> <int value="300"/>
> </object>
> <!--
> The next argument is the query to use to validate that a Connection is
> still up and running. It should return at least one row.
> This functionality is optional. We'll just set it to null.
> <string null="true"/>
> -->
> <string value="select 1 from age_range"/>
> <boolean value="false"/> <!-- The default "read only" value for
> Connections. -->
> <boolean value="false"/> <!-- The default "auto commit" value for
> Connections. -->
>
> </object>
> Disabling statement cache eliminates the exception.
> This is my first time reporting an issue in this forum, so if I filed it in a
> wrong place please let me know. I searched bugs, but have not found anything
> that would be similar to this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.