在我的应用程序中,我不断地得到执行。
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:547) ~[spring-jdbc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.setClobAsString(OracleLobHandler.java:447)
这是我的
lobHandler
的Spring bean定义。<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler"
p:nativeJdbcExtractor-ref="nativeJdbcExtractor"/>
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor"/>
<bean id="jobRepository"
class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean"
p:lobHandler-ref="oracleLobHandler" p:dataSource-ref="dataSource"
p:databaseType="oracle" p:tablePrefix="BATCH_"
p:transactionManager-ref="transactionManager"
p:isolationLevelForCreate="ISOLATION_READ_COMMITTED"/>
我在tomcat lib文件夹中也有
ojdbc6-12.1.0.1
jar,并且在我的类路径中也有。我尝试了几种Google解决方案,但似乎无济于事。任何建议
最佳答案
您正在使用c3po本机JDBC提取器,而您可能应该在其中使用DBCP本机jdbc提取器。
关于java - java.lang.ClassCastException:org.apache.tomcat.dbcp.dbcp.PoolableConnection无法转换为oracle.jdbc.OracleConnection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36114776/