每次重启服务器都能登录应用,但是隔断时间数据库就连接超时,用的DBCP连接池,各位大哥有没有遇到过啊

luowen1991 2017-06-09 11:06:28
org.hibernate.exception.JDBCConnectionException: IO Error: Connection timed out
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:131)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49
Caused by: java.sql.SQLRecoverableException: IO Error: Connection timed out
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:874)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1145)
Caused by: java.net.SocketException: Connection timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
2017-06-08 01:01:30,237 WARN [ jdbc.spi.SqlExceptionHelper] {http-80-16} [] SQL Error: 0, SQLState: null
2017-06-08 01:01:30,238 ERROR [ jdbc.spi.SqlExceptionHelper] {http-80-16} [] Already closed.
2017-06-08 01:01:30,238 ERROR [rceptor.TransactionInterceptor] {http-80-16} [] Application exception overridden by rollback exception
org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: rollback failed
at org.springframework.orm.hibernate4.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:579)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:846)

Caused by: org.hibernate.TransactionException: rollback failed
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:215)
at org.springframework.orm.hibernate4.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:576)
... 55 more
Caused by: org.hibernate.TransactionException: unable to rollback against JDBC connection
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doRollback(JdbcTransaction.java:167)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:209)
... 56 more
Caused by: java.sql.SQLRecoverableException: IO Error: Connection timed out
at oracle.jdbc.driver.T4CConnection.doRollback(T4CConnection.java:650)
at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:3716)
Caused by: java.net.SocketException: Connection timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)

org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: rollback failed
at org.springframework.orm.hibernate4.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:579)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:846)

Caused by: org.hibernate.TransactionException: rollback failed
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:215)
at org.springframework.orm.hibernate4.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:576)
... 51 more
Caused by: org.hibernate.TransactionException: unable to rollback against JDBC connection
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doRollback(JdbcTransaction.java:167)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:209)
... 52 more
Caused by: java.sql.SQLRecoverableException: Closed Connection
at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:3694)
at org.apache.commons.dbcp.DelegatingConnection.rollback(DelegatingConnection.java:265)
...全文
509 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39361253 2017-06-30
  • 打赏
  • 举报
回复
楼主解决了没,我也遇到这个问题了,看我dbcp的配置少了两项基本配置 <!--removeAbandoned: 是否自动回收超时连接--> <property name="removeAbandoned" value="true"/> <!--removeAbandonedTimeout: 超时时间(以秒数为单位)--> <property name="removeAbandonedTimeout" value="180"/> 我也不知道是不是因为这个,这两天每天都要重启服务器。
luowen1991 2017-06-09
  • 打赏
  • 举报
回复
引用 1 楼 yun1019511571 的回复:
你数据库是放在外网的吧?如果是放在外网的话,可能是你一定时间没进行数据交互,然后防火墙自动帮你把连接掐断了.
没有,在一个网段,我看了两台电脑防火墙都是关闭了的
哦麦滴 2017-06-09
  • 打赏
  • 举报
回复
你数据库是放在外网的吧?如果是放在外网的话,可能是你一定时间没进行数据交互,然后防火墙自动帮你把连接掐断了.

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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