繁体   English   中英

Hibernate c3p0和DBCP连接池机制

[英]Hibernate c3p0 and DBCP connection pooling mechanism

如果您未在hibernate.cfg.xml中指定设置,那么什么是默认连接池,如何更改它? 这是休眠配置

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/POM_IVR</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">XXX</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.current_session_context_class">thread</property>
    <property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
    <mapping resource="com/SurveyResults.hbm.xml"/>

  </session-factory>
</hibernate-configuration>

问题1. c3p0 jar是否随hibernate3一起提供?

2.如果您未指定c3p0,则休眠是否使用它的默认连接池(您如何知道它没有使用默认值,是否有参数)或DBCP?

3.如何为我的Web应用程序修改DCBP参数,是否必须在catalina或休眠配置中更改上下文文件conf / catalina / locahost / Applicationame.xml,我必须更改/添加什么?指定用户名和密码还是仅参数?

4.有人可以解释一下它是如何工作的,休眠请求连接,tomcat将从池中获得连接吗? 如果指定c3p0,DBCP是否被绕过?

5.如果我有2个Web应用程序使用相同的表/用户名/密码怎么办? 他们应该有自己的DBCP c3p0 jar,这是什么命令? 如果将conf / context.xml应用于所有应用程序,可以为DBCP指定全局参数供应用程序使用吗?

这都与mysql的8小时连接超时有关,我不想更改数据库参数。

是的,c3p0是休眠的一部分: http : //www.informit.com/articles/article.aspx ?p=353736&seqNum =4

清单10.2 Hibernate c3p0配置示例

hibernate.c3p0.max_size = 1
hibernate.c3p0.min_size = 0
hibernate.c3p0.timeout = 5000
hibernate.c3p0.max_statements = 100
hibernate.c3p0.idle_test_period = 300
hibernate.c3p0.acquire_increment = 2

我相信您所有的答案都在那里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM