Spring batch spring批处理oracle CLOB问题

Spring batch spring批处理oracle CLOB问题,spring-batch,apache-commons-dbcp,Spring Batch,Apache Commons Dbcp,我们使用的是SpringBatch,它确实在一些表中插入了一些数据作为CLOB对象。我们有oracle数据库,并使用apache commons dbcp连接池。但当我们运行作业时,它会抛出如下异常。这个问题的根本原因是什么?apache commons连接池中是否存在此问题 Caused by: java.lang.ClassCastException: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper c

我们使用的是SpringBatch,它确实在一些表中插入了一些数据作为CLOB对象。我们有oracle数据库,并使用apache commons dbcp连接池。但当我们运行作业时,它会抛出如下异常。这个问题的根本原因是什么?apache commons连接池中是否存在此问题

Caused by: java.lang.ClassCastException: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper cannot be cast to oracle.jdbc.OracleConnection
at oracle.sql.CLOB.createTemporary(CLOB.java:979)
at oracle.sql.CLOB.createTemporary(CLOB.java:939)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.prepareLob(OracleLobHandler.java:580)
at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.createLob(OracleLobHandler.java:527)
... 66 more

我也有类似的问题。配置LOB处理程序修复了我的问题。请在下面查找代码

<batch:job-repository data-source="dataSource" id="jobRepository"
    isolation-level-for-create="READ_COMMITTED" transaction-manager="transactionManager"
    table-prefix="${batch.table.prefix}" lob-handler="lobHandler" />

 <bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"/>

     <bean id="lobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler">
        <property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/>
    </bean>

这篇文章可能会对您有所帮助。我确实检查了这篇文章,但问题是我不想更改spring批处理框架库,它使用apache commons dbcp在spring批处理表中插入数据。