hibernate使用一段时间,出现connection reset,重启服务器恢复,之后又出现。

kingssq 2008-03-05 10:27:16
环境,tomcat 5.5,oracle 9.

在服务器启动连上数据库一段时间之后会出现上述错误,几次之后会出现“关闭的连接”。具体内容如下:
2008-03-03 20:15:30,265 WARN (JDBCExceptionReporter.java:71) - SQL Error: 17002
, SQLState: null
2008-03-03 20:15:31,093 ERROR (JDBCExceptionReporter.java:72) - Io 异常: Connect
ion reset
2008-03-03 20:15:31,109 ERROR (StandardWrapperValve.java:260) - Servlet.service(
) for servlet OlineServiceServlet threw exception
org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException
(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.j
ava:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelp
er.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2148)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.ja
va:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java
:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at com.szhtp.util.DbAccess.findByHql(DbAccess.java:98)
at com.szhtp.interfaces.OlineServiceServlet.doPost(OlineServiceServlet.j
ava:54)
at com.szhtp.interfaces.OlineServiceServlet.doGet(OlineServiceServlet.ja
va:37)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.szhtp.util.filters.CharsetFilter.doFilter(CharsetFilter.java:36)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:595)
...全文
643 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijing0511 2011-07-08
  • 打赏
  • 举报
回复
学习!!
kingssq 2008-03-13
  • 打赏
  • 举报
回复
基本上可以确定是网络问题了,在测试的数据库服务器上面部署了一个应用,不会出现上述问题。给分。
kingssq 2008-03-13
  • 打赏
  • 举报
回复
基本上可以确定是网络的问题了,因为在在测试的数据库服务器上部署了一个应用,不会出现上述问题。结贴了。
kingssq 2008-03-13
  • 打赏
  • 举报
回复
基本上可以确定是网络的问题了,因为在在测试的数据库服务器上部署了一个应用,不会出现上述问题。结贴了。
FredWorks 2008-03-08
  • 打赏
  • 举报
回复
我也遇到过类似的问题,造成这个现象的原因比较多,其中有:
1. 超过一定的时候你的数据库连接没有活动,也就是超时,就会被reset
2. 网络问题
3. 使用这个连接的代码出现异常导致失去了对连接的引用,但是也没有把引用归还给连接池
kingssq 2008-03-05
  • 打赏
  • 举报
回复
已经使用proxool连接池试过了,能够自动连接,不会出现连接关闭,这样就不用重启服务器。但连接重置的问题还是存在,不过问题不大了。但产生connection reset的原因是什么呢?有什么解决办法吗?
Ryo_Hazuki 2008-03-05
  • 打赏
  • 举报
回复
连接池可以用c3p0试试
支持自动重连数据库

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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