【 使用环境 】生产环境
【 OB or 其他组件 】 ob for oracle
【 使用版本 】4.2.1.10
【问题描述】在进行数据查询是报错
【复现路径】本地springboot项目单元测试不报错,在测试环境或者生产环境跑一段时间就会复现
【附件及日志】java.lang.CloneNotSupportedException: PrepareStatement not
at com.oceanbase.jdbc.JDBC4ServerPreparedStatement.clone(JDBC4ServerPreparedStatement.java:193)
at com.oceanbase.jdbc.CallableProcedureStatement.clone(CallableProcedureStatement.java:111)
at com.oceanbase.jdbc.JDBC4ServerCallableStatement.clone(JDBC4ServerCallableStatement.java:176)
at com.oceanbase.jdbc.JDBC4ServerCallableStatement.clone(JDBC4ServerCallableStatement.java:67)
at com.oceanbase.jdbc.OceanBaseConnection.prepareCall(OceanBaseConnection.java:761)
at com.oceanbase.jdbc.OceanBaseConnection.prepareCall(OceanBaseConnection.java:700)
at com.oceanbase.jdbc.Clob.getLengthFromServer(Clob.java:673)
at com.oceanbase.jdbc.Clob.length(Clob.java:381)
at com.oceanbase.jdbc.JDBC4ResultSet.getString(JDBC4ResultSet.java:1289)
at com.oceanbase.jdbc.JDBC4ResultSet.getString(JDBC4ResultSet.java:1318)
at com.alibaba.druid.pool.DruidPooledResultSet.getString(DruidPooledResultSet.java:244)
at jdk.internal.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.ibatis.logging.jdbc.ResultSetLogger.invoke(ResultSetLogger.java:68)
at jdk.proxy3/jdk.proxy3.$Proxy288.getString(Unknown Source)
at com.sinosig.clueRobot.common.handler.OceanBaseClobTypeHandler.getNullableResult(OceanBaseClobTypeHandler.java:33)
at com.sinosig.clueRobot.common.handler.OceanBaseClobTypeHandler.getNullableResult(OceanBaseClobTypeHandler.java:14)
at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:85)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getPropertyMappingValue(DefaultResultSetHandler.java:530)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyPropertyMappings(DefaultResultSetHandler.java:495)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:418)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:366)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:337)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:310)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:202)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:66)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80)
at jdk.internal.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
at jdk.proxy2/jdk.proxy2.$Proxy283.query(Unknown Source)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110)
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)
at jdk.proxy2/jdk.proxy2.$Proxy282.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142)
at jdk.internal.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333)
at jdk.proxy2/jdk.proxy2.$Proxy132.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:156)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:93)
at jdk.proxy2/jdk.proxy2.$Proxy231.selectResList(Unknown Source)
at com.sinosig.clueRobot.web.rule.service.impl.IndexDataServiceImpl.generateDataList(IndexDataServiceImpl.java:171)
at com.sinosig.clueRobot.web.rule.service.impl.AipRuleAuditMonitorServiceImpl.getClueCount(AipRuleAuditMonitorServiceImpl.java:95)
at com.sinosig.clueRobot.web.rule.service.impl.AipRuleAuditMonitorServiceImpl.lambda$saveMonitorInfo$1(AipRuleAuditMonitorServiceImpl.java:150)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.sinosig.clueRobot.web.rule.service.impl.AipRuleAuditMonitorServiceImpl.saveMonitorInfo(AipRuleAuditMonitorServiceImpl.java:147)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:114)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
java.lang.CloneNotSupportedException: PrepareStatement not
at com.oceanbase.jdbc.JDBC4ServerPreparedStatement.clone(JDBC4ServerPreparedStatement.java:193)
at com.oceanbase.jdbc.CallableProcedureStatement.clone(CallableProcedureStatement.java:111)
at com.oceanbase.jdbc.JDBC4ServerCallableStatement.clone(JDBC4ServerCallableStatement.java:176)
at com.oceanbase.jdbc.JDBC4ServerCallableStatement.clone(JDBC4ServerCallableStatement.java:67)
at com.oceanbase.jdbc.OceanBaseConnection.prepareCall(OceanBaseConnection.java:761)
at com.oceanbase.jdbc.OceanBaseConnection.prepareCall(OceanBaseConnection.java:700)
at com.oceanbase.jdbc.Clob.readFromServer(Clob.java:612)
at com.oceanbase.jdbc.Clob.getSubString(Clob.java:193)
at com.oceanbase.jdbc.JDBC4ResultSet.getString(JDBC4ResultSet.java:1290)
at com.oceanbase.jdbc.JDBC4ResultSet.getString(JDBC4ResultSet.java:1318)
at com.alibaba.druid.pool.DruidPooledResultSet.getString(DruidPooledResultSet.java:244)
at jdk.internal.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.ibatis.logging.jdbc.ResultSetLogger.invoke(ResultSetLogger.java:68)
at jdk.proxy3/jdk.proxy3.$Proxy288.getString(Unknown Source)
at com.sinosig.clueRobot.common.handler.OceanBaseClobTypeHandler.getNullableResult(OceanBaseClobTypeHandler.java:33)
at com.sinosig.clueRobot.common.handler.OceanBaseClobTypeHandler.getNullableResult(OceanBaseClobTypeHandler.java:14)
at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:85)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getPropertyMappingValue(DefaultResultSetHandler.java:530)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyPropertyMappings(DefaultResultSetHandler.java:495)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:418)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:366)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:337)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:310)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:202)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:66)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80)
at jdk.internal.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
at jdk.proxy2/jdk.proxy2.$Proxy283.query(Unknown Source)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110)
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)
at jdk.proxy2/jdk.proxy2.$Proxy282.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142)
at jdk.internal.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333)
at jdk.proxy2/jdk.proxy2.$Proxy132.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:156)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:93)
at jdk.proxy2/jdk.proxy2.$Proxy231.selectResList(Unknown Source)
at com.sinosig.clueRobot.web.rule.service.impl.IndexDataServiceImpl.generateDataList(IndexDataServiceImpl.java:171)
at com.sinosig.clueRobot.web.rule.service.impl.AipRuleAuditMonitorServiceImpl.getClueCount(AipRuleAuditMonitorServiceImpl.java:95)
at com.sinosig.clueRobot.web.rule.service.impl.AipRuleAuditMonitorServiceImpl.lambda$saveMonitorInfo$1(AipRuleAuditMonitorServiceImpl.java:150)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.sinosig.clueRobot.web.rule.service.impl.AipRuleAuditMonitorServiceImpl.saveMonitorInfo(AipRuleAuditMonitorServiceImpl.java:147)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:114)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!