报错信息:
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
SqlSessionInterceptor.invoke(SqlSessionTemplate.java:444)[mybatis−spring−1.3.2.jar:1.3.2]atcom.sun.proxy.
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.
Proxy72.nextValue(UnknownSource)[na:na]atcom.yiban.dmp.service.sequence.impl.SequenceServiceImpl.sequenceForLong(SequenceServiceImpl.java:29)[classes/:na]atcom.yiban.dmp.service.sequence.SequenceTest.sequenceForLongTest(SequenceTest.java:25)[test−classes/:na]atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod) [na:1.8.0172]atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [na:1.8.0172]atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [na:1.8.0172]atjava.lang.reflect.Method.invoke(Method.java:498) [na:1.8.0172]atorg.junit.runners.model.FrameworkMethod
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.run(ParentRunner.java:290)[junit−4.12.jar:4.12]atorg.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(ParentRunner.java:58)[junit−4.12.jar:4.12]atorg.junit.runners.ParentRunner
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上的是什么版本的驱动,自己本机装了不一样的版本,纠结了大半天,老以为是数据库连接池问题,记录一下,希望同样遇到这个问题的同学能快速定位问题不用纠结太久。