首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 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)
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-05 10:33:451楼 得分:20
    连接池可以用c3p0试试
    支持自动重连数据库
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-05 10:38:062楼 得分:0
    已经使用proxool连接池试过了,能够自动连接,不会出现连接关闭,这样就不用重启服务器。但连接重置的问题还是存在,不过问题不大了。但产生connection reset的原因是什么呢?有什么解决办法吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-08 15:10:163楼 得分:30
    我也遇到过类似的问题,造成这个现象的原因比较多,其中有:
    1. 超过一定的时候你的数据库连接没有活动,也就是超时,就会被reset
    2. 网络问题
    3. 使用这个连接的代码出现异常导致失去了对连接的引用,但是也没有把引用归还给连接池
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-13 18:14:164楼 得分:0
    基本上可以确定是网络的问题了,因为在在测试的数据库服务器上部署了一个应用,不会出现上述问题。结贴了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-13 18:14:365楼 得分:0
    基本上可以确定是网络的问题了,因为在在测试的数据库服务器上部署了一个应用,不会出现上述问题。结贴了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-13 18:15:536楼 得分:0
    基本上可以确定是网络问题了,在测试的数据库服务器上面部署了一个应用,不会出现上述问题。给分。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved