91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hibernate連接池的配置方式有哪些

發布時間:2021-11-17 17:56:23 來源:億速云 閱讀:204 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關Hibernate連接池的配置方式有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

在Hibernate3.0中,已經不再支持dbcp了,Hibernate的作者在Hibernate.org中,明確指出在實踐中發現dbcp有BUG,在某些種情會產生很多空連接不能釋放,所以拋棄了對dbcp的支持。

一、Hibernate 連接池:C3P0 配置

<?xml version="1.0" encoding="UTF-8"?> <!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="transaction.factory_class"> org.Hibernate.transaction.JDBCTransactionFactory  </property> <!-- 配置JDBC里batch的大小 --> <property name="jdbc.batch_size">50</property> <property name="cache.use_second_level_cache">false</property> <!-- 配置線程安全的session --> <property name="current_session_context_class">thread</property> <!-- 顯示SQL --> <property name="show_sql">true</property> <property name="format_sql">true</property> <!-- 配置數據庫方言 --> <property name="dialect">org.Hibernate.dialect.Oracle9Dialect</property> <!-- 配置數據庫連接 --> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.username">0804</property> <property name="connection.password">0804</property> <property name="connection.url">jdbc:oracle:thin:@192.168.0.200:1521:orcl</property> <!-- 配置連接池 --> <property name="c3p0.max_size">2</property> <property name="c3p0.min_size">2</property> <property name="c3p0.timeout">5000</property> <property name="c3p0.max_statements">100</property> <property name="c3p0.idle_test_period">3000</property> <property name="c3p0.acquire_increment">2</property> <property name="c3p0.validate">false</property> <!-- 指定Hibernate管理的映射文件 --> <mapping resource="com/ket/ruan/so/entity/User.hbm.xml"/> <mapping resource="com/ket/ruan/so/entity/Product.hbm.xml"/> </session-factory> </Hibernate-configuration>

二、Hibernate 連接池:使用proxool

<Hibernate-configuration> <session-factory> <property name="show_sql">true</property> <property name="dialect"> org.Hibernate.dialect.MySQLDialect  </property> <!-- 配置proxool屬性 --> <!--- 使用proxoolConf.xml中定義的別名 --> <property name="proxool.pool_alias">pool1</property> <!-- 指定使用的proxoolConf文件的位置(這里在SRC下)--> <property name="proxool.xml">ProxoolConf.xml</property> <property name="connection.provider_class"> org.Hibernate.connection.ProxoolConnectionProvider  </property> ....  <!-- 指定Hibernate管理的映射文件 --> <mapping resource="com/ket/ruan/so/entity/User.hbm.xml"/> ....  </Hibernate-configuration>

1.ProxoolConf.xml:xml文件放在同級目錄中,需要 proxool-0.8.3.jar。

<?xml version="1.0" encoding="gb2312"?> <something-else-entirely> <proxool> <alias>pool1</alias> <driver-url> jdbc:mysql://tpdb:3306/tpdb  </driver-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <driver-properties> <property name="user" value="username"/> <property name="password" value="password"/> <property name="schema" value="tpdb"/> <!-- ???--> <!-- 自動重連 --> <property name="autoReconnect" value="true"/> </driver-properties> <!-- proxool自動偵察各個連接狀態的時間間隔(毫秒),  偵察到空閑的連接就馬上回收,超時的銷毀--> <house-keeping-sleep-time>90000</house-keeping-sleep-time> <!-- 指因未有空閑連接可以分配而在隊列中等候的***請求數,超過這個請求數的  用戶連接就不會被接受(正式庫10,測試庫1)--> <maximum-new-connections>10</maximum-new-connections> <!-- 最少保持的空閑連接數(正式庫10,測試庫1)--> <prototype-count>10</prototype-count> <!-- 連接池允許的***連接數(正式庫700,測試庫10)--> <maximum-connection-count>700</maximum-connection-count> <!-- 連接池開啟的最小連接數(正式庫350,測試庫5)--> <minimum-connection-count>350</minimum-connection-count> <!-- 一個活動連接的最長時間15分鐘,單位毫秒 --> <maximum-active-time>900000</maximum-active-time> <!-- 一個連接的最長活動時間4小時,單位毫秒 --> <maximum-connection-lifetime>14400000</maximum-connection-lifetime> <!-- 自動檢查連接是否斷掉開關 --> <test-before-use>true</test-before-use> <!-- 自動檢查連接是否斷的測試sql語句 --> <house-keeping-test-sql>select sysdate() from dual</house-keeping-test-sql> </proxool> </something-else-entirely>

2.數據庫名可以這樣指定

<property name="connection.url"> jdbc:sqlserver://localhost:1433;DatabaseName=supermarket </property>

3.URL 還可以傳參數

<property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url"> jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK </property>

目前,proxool用法,被大部分人認為是***秀的。

4.連接池監控

1).在web.xml中加上下面這段

<servlet> <servlet-name> proxool </servlet-name> <servlet-class> org.logicalcobwebs.proxool.admin.servlet.AdminServlet  </servlet-class> </servlet> <servlet-mapping> <servlet-name> proxool </servlet-name> <url-pattern> /Admin/proxool/ </url-pattern> </servlet-mapping>

2).http://localhost:8080/testHibernate/Admin/proxool
就可以監控到連接池的狀況了!

感謝各位的閱讀!關于“Hibernate連接池的配置方式有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长岭县| 修武县| 赤峰市| 霍邱县| 松江区| 扎囊县| 濮阳市| 平湖市| 垫江县| 崇义县| 自贡市| 革吉县| 新巴尔虎右旗| 商城县| 开远市| 成安县| 泰宁县| 寿宁县| 莒南县| 宜昌市| 临清市| 宁城县| 尼勒克县| 离岛区| 建宁县| 鄂伦春自治旗| 桐乡市| 临潭县| 衡阳县| 潼关县| 鄂托克旗| 清远市| 张掖市| 海伦市| 龙山县| 彭阳县| 蚌埠市| 瑞昌市| 镇平县| 莆田市| 临朐县|