Hello,
I found following problem when java application is trying save xml data into
xml column to database.
I found a problem with tomcat which is happening in the version 6.0.32 and
6.0.35 (maybe also in other version), but working really fine with version
6.0.26.
My configuration:
OS: windows 7 enterprise
IDE: Eclipse EE 3.7.1
Java: 1.6.0_33
Tomcat: 6.0.26, 6.0.32, 6.0.35
DB: Oracle Database 11g Enterprise Edition 11.2.0.3.0
Other technologies: Spring 3.1.1 + Hibernate 3 + Struts 1.1
Here is the exception stack trace:
2012-08-13 14:26:32,434 ERROR
[at.h3g.portal.selfcare.frontend.struts.actions.BaseAction] - <Exception
catched in BaseAction: OracleLobCreator needs to work on
[oracle.jdbc.OracleConnection], not on
[org.apache.tomcat.dbcp.dbcp.PoolableConnection]: specify a corresponding
NativeJdbcExtractor; nested exception is java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp.PoolableConnection cannot be cast to
oracle.jdbc.OracleConnection>
org.springframework.dao.InvalidDataAccessApiUsageException: OracleLobCreator
needs to work on [oracle.jdbc.OracleConnection], not on
[org.apache.tomcat.dbcp.dbcp.PoolableConnection]: specify a corresponding
NativeJdbcExtractor; nested exception is java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp.PoolableConnection cannot be cast to
oracle.jdbc.OracleConnection
at
org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.createLob(OracleLobHandler.java:505)
at
org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.setClobAsString(OracleLobHandler.java:413)
at
org.springframework.orm.hibernate3.support.ClobStringType.nullSafeSetInternal(ClobStringType.java:86)
at
org.springframework.orm.hibernate3.support.AbstractLobType.nullSafeSet(AbstractLobType.java:180)
at org.hibernate.type.CustomType.nullSafeSet(CustomType.java:140)
at
org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2184)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2431)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2875)
at
org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184)
at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at
org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
at.h3g.portal.commons.logging.StatsMethodLogger.invoke(StatsMethodLogger.java:93)
at
at.h3g.portal.commons.logging.StatsMethodInterceptor.invoke(StatsMethodInterceptor.java:14)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy4.submitXML(Unknown Source)
at
at.h3g.portal.helper.OrderHelper.createAndStoreServiceOrderXML(OrderHelper.java:85)
at
at.h3g.portal.helper.OrderHelper.createAndStoreServiceOrderXML(OrderHelper.java:103)
at
at.h3g.portal.layer.BusinessLayer.createAndStoreServiceOrderXML(BusinessLayer.java:366)
at at.h3g.portal.layer.SettingsHelper.changeFlag(SettingsHelper.java:509)
at
at.h3g.portal.selfcare.frontend.struts.actions.multisettings.SaveMultiSettingsAction.exec(SaveMultiSettingsAction.java:202)
at
at.h3g.portal.selfcare.frontend.struts.actions.BaseAction.execute(BaseAction.java:463)
at
org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:113)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
at.h3g.portal.commons.logging.context.NDContextLoggingFilter.doFilter(NDContextLoggingFilter.java:54)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
at.h3g.portal.commons.logging.StatsMethodLogger.invoke(StatsMethodLogger.java:77)
at
at.h3g.portal.commons.logging.StatsMethodInterceptor.invoke(StatsMethodInterceptor.java:36)
at
at.h3g.portal.commons.logging.AbstractLoggingFilter.doFilter(AbstractLoggingFilter.java:46)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
at.h3g.portal.commons.filters.AbstractHttpRequestSanitizationFilter.doFilter(AbstractHttpRequestSanitizationFilter.java:40)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
at.h3g.portal.commons.filters.AbstractHttpRequestValidationFilter.doFilter(AbstractHttpRequestValidationFilter.java:78)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp.PoolableConnection cannot be cast to
oracle.jdbc.OracleConnection
at oracle.sql.CLOB.createTemporary(CLOB.java:754)
at oracle.sql.CLOB.createTemporary(CLOB.java:716)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.prepareLob(OracleLobHandler.java:541)
at
org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.createLob(OracleLobHandler.java:488)
... 70 more
I don’t know if these information are enough for you. If you need any other
information don’t hesitate to ask.
Best Regards
Peter Busfy
[cid:[email protected]]
<http://www.drei.at/business>
<http://www.drei.at/business>
<http://www.drei.at/business>
<http://www.drei.at>
<http://www.drei.at>
dreibusinesslink