簡體   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