Hibernate 4.3-final是否会导致GooGooStatementCache多重准备语句?

 mobiledu2502853787 发布于 2023-01-29 11:59

我们有一个春季项目,我们使用

Spring+ Spring Data+ Hibernate+c3p0

一切都很好,直到最后的版本.我们开始在日志中看到很多内容 INFO GooGooStatementCache:441.而且,在我们的服务器端出现一些内存问题之后.我们开始分析我们的java内存堆.似乎在我们得到很多版本的所有版本中INFO GooGooStatementCache:441都存在严重的内存泄漏.com.mysql.jdbc.JDBC4Connection 不是免费的.因为我们有许多连接打开了.

我们怀疑从hibernate 3.6.3.Final(hibernate-entitymanager)的变化hibernate 3.0.Final导致了这些问题.

还有其他人经历过这样的事吗?

谢谢,

阿龙

编辑: 切换:

    
    4.3.0-Final
    4.3.0.Final

    

至:

    2.0.0
    3.5.6-Final

还有这个:

    
        org.hibernate.java-persistence
        jpa-api
        ${hibernate.jpa-api.version}
        compile
    

    
        org.hibernate
        hibernate-entitymanager
        ${hibernate.entitymanager.version}
        compile
    

至:

    
    
    
    
    
    
    
    

    
        org.hibernate
        hibernate-entitymanager
        ${hibernate.entitymanager.version}
        compile
    

防止这个INFO GooGooStatementCache:441 - Multiply prepared statement!问题所以我们的设置和hibernate 4.3.0-final似乎存在某种问题

有任何想法吗?

编辑2:

更改为4.3.1.Final不会解决这个问题

编辑3 感谢您的回应我的猜测是它的东西不适c3p0用于新的hibernate

这是我们如何设置它们

   










这是持久性文件




    
        
         
        
        
    
    META-INF/orm.xml

 

编辑4 似乎转移到休眠4.3.1.FINAL DOES解决了这个问题.没有得到关于准备日志的任何警告.和内存分析器不显示数据库连接上的任何泄漏.

问题 是什么是最好的连接方式hibernate,并c3p0spring?使用hibernate-c3p0包或添加c3p0包到pom?

1 个回答
  • 所以,我无法解释为什么你在更新版本的Hibernate中看到更多这个,但是你看到的消息意味着你的应用程序正在尝试准备一个已经由同一个数据库准备和缓存的PreparedStatement连接.但是,无法使用缓存的Statement,因为它仍在使用中,尚未进行close()编辑.因此,正在准备同一份声明的新副本.(如果您经常同时重用Statement,缓存将保留两个副本.)

    从理论上讲,有些情况可能正是您打算做的.例如,当遍历递归结构展平为数据库表时,您可以重复使用具有不同参数的相同查询来向下钻取级别,同时顶级查询保持打开状态.

    但实际上,这种情况很少见.通常,如果您收到此消息,则可能意味着您的应用程序未及时关闭()语句.根据您的描述,听起来您可能也有连接泄漏,但是您没有报告通常的结果,应用程序在池到达时挂起maxPoolSize.(你没有报告过很多关于你的c3p0配置的信息;也许你设置的maxPoolSize非常大,并且在池耗尽之前你会遇到内存问题.)

    你可能会尝试一些事情:

    1)检查是否有连接泄漏.看到这里

    2)简化问题:通过关闭语句缓存并比较行为来查看问题是否仅限于语句缓存.设置c3p0参数maxStatements并将maxStatementsPerConnection两者都设置为零.

    2023-01-29 12:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有