当前位置: 首页 > 面试题库 >

Hibernate配置连接池大小

井逸明
2023-03-14
问题内容

为什么在hibernate配置文件中为连接池设置10?size = 1是内置的size。为什么需要增加大小?

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>
     ....

       <property name="connection.pool_size">10</property>

     ....
    </session-factory>

</hibernate-configuration>

问题答案:

来自Hibernate
API
文档。

但是,Hibernate自己的连接池算法非常初级。它旨在帮助您入门,不适合在生产系统中使用,甚至不用于性能测试。您应该使用第三方池来获得最佳性能和稳定性。只需将hibernate.connection.pool_size属性替换为连接池特定的设置即可。这将关闭Hibernate的内部池。例如,您可能想使用c3p0。

connection.pool_size
表示池化连接的最大数量
。因此最好将其保持在逻辑上。这取决于您的应用程序和数据库可以处理多少。10是通常会使用的合理计数,因为在大多数情况下它已足够。



 类似资料:
  • 问题内容: 我似乎无法hibernate使用c3p0进行连接池,它说 hibernate配置: 问题答案:

  • 以下代码: hibernate.cfg.xml: hibernateutil.java: 为了获得最好的帮助,当我尝试连接this Web服务时,请在Android Studio中查看my应用程序的日志: org.hibernate.exception.internal.standardsqlexceptionconverter.convert(standardsqlexceptionconver

  • 我使用的是用Spring配置的mybatis。一切都很好,但是在这种配置下没有连接池。每次我执行一些SQL语句,它都会创建一个新的连接。有什么简单的方法可以用mybatis+Spring配置连接池吗?

  • 嘿,我正在使用Glassfish开源v4,我遇到了一个奇怪的问题。 我在管理控制台中定义了到Oracle 11g的JDBC连接池,并设置了: 初始和最小池大小:500 最大游泳池大小:1000 池大小调整数量::750 我已经为这个连接池创建了一个特定的用户。然而,有时当我检查数据库中打开的连接时,我发现有1000多个连接(我看到的最大连接数是1440个) 当发生这种情况时,任何查询尝试都会失败,

  • 我不确定的是,在这种情况下,会创建多少个线程?我在一台2核心的机器上运行,所以每核心24个线程,最多48个线程? 当并行度因子设置为4.0时,可以并行运行的线程数将是8。那么,设置最小值和最大值(我的例子是24和48)的需要是什么?

  • 由于基于HTTP协议的Web程序是无状态的,因此,在应用程序中使用JDBC时,每次处理客户端请求时都会重新建立数据库连接。如果客户端的请求非常频繁,服务端在处理数据库时将会消耗非常多的资源。因此,在Tomcat中提供了数据库连接池技术。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个数据库连接。在使用完一个数据库连接后,将其归还数据库连接池