druid开启poolPreparedStatements(设置为true)Oracle查询报错问题解决

报错信息:
java.lang.NullPointerException: null
at oracle.jdbc.driver.PhysicalConnection.cacheBuffer(PhysicalConnection.java:6811) ~[ojdbc6_11.1.0.6.0.jar:Oracle JDBC Driver version - “11.1.0.6.0-Production+”]
at oracle.jdbc.driver.OraclePreparedStatement.releaseBuffers(OraclePreparedStatement.java:3012) ~[ojdbc6_11.1.0.6.0.jar:Oracle JDBC Driver version - “11.1.0.6.0-Production+”]
at oracle.jdbc.driver.T4CPreparedStatement.releaseBuffers(T4CPreparedStatement.java:241) ~[ojdbc6_11.1.0.6.0.jar:Oracle JDBC Driver version - “11.1.0.6.0-Production+”]
at oracle.jdbc.driver.OraclePreparedStatement.enterImplicitCache(OraclePreparedStatement.java:3094) ~[ojdbc6_11.1.0.6.0.jar:Oracle JDBC Driver version - “11.1.0.6.0-Production+”]
at oracle.jdbc.driver.OraclePreparedStatementWrapper.enterImplicitCache(OraclePreparedStatementWrapper.java:1588) ~[ojdbc6_11.1.0.6.0.jar:Oracle JDBC Driver version - “11.1.0.6.0-Production+”]
at com.alibaba.druid.util.OracleUtils.enterImplicitCache(OracleUtils.java:66) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.pool.PreparedStatementPool.put(PreparedStatementPool.java:91) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.pool.DruidPooledConnection.closePoolableStatement(DruidPooledConnection.java:170) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.pool.DruidPooledPreparedStatement.close(DruidPooledPreparedStatement.java:202) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.util.JdbcUtils.close(JdbcUtils.java:84) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.pool.DruidConnectionHolder.reset(DruidConnectionHolder.java:291) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.pool.DruidDataSource.recycle(DruidDataSource.java:1664) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.pool.DruidPooledConnection.recycle(DruidPooledConnection.java:323) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_recycle(FilterChainImpl.java:4997) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.logging.LogFilter.dataSource_releaseConnection(LogFilter.java:866) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_recycle(FilterChainImpl.java:4993) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterAdapter.dataSource_releaseConnection(FilterAdapter.java:2739) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_recycle(FilterChainImpl.java:4993) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.stat.StatFilter.dataSource_releaseConnection(StatFilter.java:665) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterChainImpl.dataSource_recycle(FilterChainImpl.java:4993) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.pool.DruidPooledConnection.close(DruidPooledConnection.java:266) [druid-1.1.10.jar:1.1.10]
at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:343) [spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:330) [spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:296) [spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.mybatis.spring.transaction.SpringManagedTransaction.close(SpringManagedTransaction.java:127) [mybatis-spring-1.3.2.jar:1.3.2]
at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:90) [mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.executor.CachingExecutor.close(CachingExecutor.java:64) [mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:264) [mybatis-3.4.6.jar:3.4.6]
at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:193) [mybatis-spring-1.3.2.jar:1.3.2]
at org.mybatis.spring.SqlSessionTemplate S q l S e s s i o n I n t e r c e p t o r . i n v o k e ( S q l S e s s i o n T e m p l a t e . j a v a : 444 ) [ m y b a t i s s p r i n g 1.3.2. j a r : 1.3.2 ] a t c o m . s u n . p r o x y . Proxy71.selectOne(Unknown Source) [na:na]
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166) [mybatis-spring-1.3.2.jar:1.3.2]
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:83) [mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59) [mybatis-3.4.6.jar:3.4.6]
at com.sun.proxy. P r o x y 72. n e x t V a l u e ( U n k n o w n S o u r c e ) [ n a : n a ] a t c o m . y i b a n . d m p . s e r v i c e . s e q u e n c e . i m p l . S e q u e n c e S e r v i c e I m p l . s e q u e n c e F o r L o n g ( S e q u e n c e S e r v i c e I m p l . j a v a : 29 ) [ c l a s s e s / : n a ] a t c o m . y i b a n . d m p . s e r v i c e . s e q u e n c e . S e q u e n c e T e s t . s e q u e n c e F o r L o n g T e s t ( S e q u e n c e T e s t . j a v a : 25 ) [ t e s t c l a s s e s / : n a ] a t s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( N a t i v e M e t h o d )   [ n a : 1.8.0 1 72 ] a t s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( N a t i v e M e t h o d A c c e s s o r I m p l . j a v a : 62 )   [ n a : 1.8.0 1 72 ] a t s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 43 )   [ n a : 1.8.0 1 72 ] a t j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( M e t h o d . j a v a : 498 )   [ n a : 1.8.0 1 72 ] a t o r g . j u n i t . r u n n e r s . m o d e l . F r a m e w o r k M e t h o d 1.runReflectiveCall(FrameworkMethod.java:50) [junit-4.12.jar:4.12]
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12]
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) [junit-4.12.jar:4.12]
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) [spring-test-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) [spring-test-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) [spring-test-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) [spring-test-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) [spring-test-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.junit.runners.ParentRunner 3. r u n ( P a r e n t R u n n e r . j a v a : 290 ) [ j u n i t 4.12. j a r : 4.12 ] a t o r g . j u n i t . r u n n e r s . P a r e n t R u n n e r 1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.access 000 ( P a r e n t R u n n e r . j a v a : 58 ) [ j u n i t 4.12. j a r : 4.12 ] a t o r g . j u n i t . r u n n e r s . P a r e n t R u n n e r 2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) [spring-test-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) [spring-test-4.3.17.RELEASE.jar:4.3.17.RELEASE]
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) [.cp/:na]
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) [.cp/:na]
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) [.cp/:na]
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) [.cp/:na]
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) [.cp/:na]
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) [.cp/:na]

这个问题不是druid的问题,是oracle驱动版本和oracle数据库版本不对应,用11g-R1版本的odbc去连接11g-R2的数据库,所以悲剧了。主要是不知道公司放nexus上的是什么版本的驱动,自己本机装了不一样的版本,纠结了大半天,老以为是数据库连接池问题,记录一下,希望同样遇到这个问题的同学能快速定位问题不用纠结太久。

猜你喜欢

转载自blog.csdn.net/zhouyecheng/article/details/80678592
今日推荐