commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "kan (JIRA)" <j...@apache.org>
Subject [jira] Created: (DBCP-290) java.sql.SQLException: Closed Statement
Date Mon, 04 May 2009 04:14:30 GMT
java.sql.SQLException: Closed Statement 
----------------------------------------

                 Key: DBCP-290
                 URL: https://issues.apache.org/jira/browse/DBCP-290
             Project: Commons Dbcp
          Issue Type: Bug
    Affects Versions: 1.2.2
            Reporter: kan


We are getting below exception in production randomly..Using Spring(2.5) JDBC for all our
DB related functionality.We don't handle any DB resources directly.everything thru Spring
JDBC template. This app was running fine in Weblogic but after migrating to Tomcat6+DBCP(1.2.2)
we are seeing the below exception. 

We also looked our code base for any threading or concurrency issues..we were not able spot
any issues. 


I have observed one more thing..why checkOpen in DelegatingPreparedStatement didn't catch
this but OracleStatement thinks the statement is closed.
Is it bcos the DBCP is returing the closed connection?



Caused by: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback;
uncategorized SQLException for SQL [INSERT INTO AUDIT_TRAIL ( DEAL_ID , AUDIT_TRAIL_ID ) VALUES
( ?,? ) ]; SQL state [null]; error code [17009]; Closed Statement; nested exception is java.sql.SQLException:
Closed Statement 
        at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:124)

        at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:322)

        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607) 
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792) 
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:815) 
        at org.springframework.jdbc.object.SqlUpdate.update(SqlUpdate.java:168) 
        at com.dao.DealXAuditTrailDaoBase.insertDealXAuditTrailVoBase(Unknown Source) 
        at com.deal.DealTO.insertAuditTrail(DealTO.java:183) 
        at com.deal.DealTO.processAuditTrail(DealTO.java:168) 
        at com.deal.DealTO.update(DealTO.java:110) 
        at com.deal.DealTO$$FastClassByCGLIB$$fba55fe6.invoke(<generated>) 
        at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) 
        at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)

        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

        at com.businessrules.SpexBusinessRuleValidator.invoke(SpexBusinessRuleValidator.java:64)

        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)

        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

        at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)

        at com.deal.DealTO$$EnhancerByCGLIB$$54d9c9a4.update(<generated>) 
        at com.entity.EntityGeneralInfoController.copyFieldsToDeal(EntityGeneralInfoController.java:1158)

        at com.entity.EntityGeneralInfoController.doSave(EntityGeneralInfoController.java:429)

        ... 30 more 
Caused by: java.sql.SQLException: Closed Statement 
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) 
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162) 
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) 
        at oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java:3249) 
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2867)

        at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2957)

        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

        at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:798)

        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591) 




        <Resource name="oracleDS" auth="Container" 
                                type="javax.sql.DataSource" 
                                driverClassName="oracle.jdbc.OracleDriver" 
                                url="jdbc:oracle:thin:@xxxxx:1521:xxxxx" 
                                username="xxxx" password="xxxx" 
                                initialSize="2" maxActive="30" maxIdle="30" maxWait="3000"
minIdle="0" 
                                testOnBorrow="true" testOnReturn="false" testWhileIdle="false"

                                poolPreparedStatements="true" maxOpenPreparedStatements="10"

                                removedAbandoned="true" removeAbandonedTimeout="60" 
                                logAbandoned="true" validationQuery="select count(*) from
dual"/> 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message