使用dbcp连接池,发生Connection reset 的异常

zhouhuihuang 2019-02-20 12:43:34
各位大神好:

我写了一个标准的webservice程序,通过dbcp连接池,来连接oracle数据库,oracle版本12c,部署在tomcat7上面,然后给客户端调用。
在调用过程中,我的webservice程序时不时的会出现Connection reset 异常(webservice程序和oracle在不通的服务器),然后通过搜索说,
添加这个 -Djava.security.egd=file:/dev/../dev/urandom就行,但是时间验证也是不能解决,以下是发生异常的是内容,
有哪位大神来帮忙回复下,或者提供点思路,谢谢了。

WARNING: An internal object pool swallowed an Exception.
java.sql.SQLRecoverableException: IO Error: Connection reset
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:770)
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:4585)
at org.apache.commons.dbcp2.DelegatingConnection.closeInternal(DelegatingConnection.java:236)
at org.apache.commons.dbcp2.PoolableConnection.reallyClose(PoolableConnection.java:243)
at org.apache.commons.dbcp2.PoolableConnectionFactory.destroyObject(PoolableConnectionFactory.java:334)
at org.apache.commons.pool2.impl.GenericObjectPool.destroy(GenericObjectPool.java:897)
at org.apache.commons.pool2.impl.GenericObjectPool.evict(GenericObjectPool.java:793)
at org.apache.commons.pool2.impl.BaseGenericObjectPool$Evictor.run(BaseGenericObjectPool.java:1036)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118)
at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
at oracle.net.ns.DataPacket.send(DataPacket.java:209)
at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:215)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:302)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:426)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:390)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
at oracle.jdbc.driver.T4C7Ocommoncall.doOLOGOFF(T4C7Ocommoncall.java:59)
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:757)
... 9 more
...全文
6331 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouhuihuang 2019-02-27
  • 打赏
  • 举报
回复
引用 1 楼 卖水果的net 的回复:
要不要给你移动到 Java 区?
好的,感谢!
卖水果的net 2019-02-20
  • 打赏
  • 举报
回复
要不要给你移动到 Java 区?

3,497

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧