com.mysql.jdbc.Driver

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

spring中以dataSource方式使用proxool連接池

系統(tǒng) 2062 0

方式一:
?在Spring的"applicationContext.xml"中的dataSource bean定義——
?

< bean? id ="dataSource"
????class
="org.logicalcobwebs.proxool.ProxoolDataSource" >
????
< property? name ="driver" >
????????
< value > com.mysql.jdbc.Driver </ value >
????
</ property >
????
< property? name ="driverUrl" >
????????
< value > jdbc:mysql://localhost:3306/dbname?user=yourname &amp; password=yourpass </ value >
????
</ property >
????
< property? name ="user" ?value ="yourname" ? />
????
< property? name ="password" ?value ="yourpass" ? />
????
< property? name ="alias" ?value ="Pool_dbname" ? />
????
< property? name ="houseKeepingSleepTime" ?value ="90000" ? />
????
< property? name ="prototypeCount" ?value ="0" ? />
????
< property? name ="maximumConnectionCount" ?value ="50" ? />
????
< property? name ="minimumConnectionCount" ?value ="2" ? />
????
< property? name ="simultaneousBuildThrottle" ?value ="50" ? />
????
< property? name ="maximumConnectionLifetime" ?value ="14400000" ? />
????
< property? name ="houseKeepingTestSql" ?value ="select?CURRENT_DATE" ? />
</ bean >

第一種方式需要把用戶名和密碼寫在連接串里面,
ProxoolDataSource類提供的user,password屬性似乎沒有什么用。
無論提供什么,它都會(huì)以空用戶名、密碼去連接數(shù)據(jù)庫。
這可能是Proxool RC0.93的一個(gè)bug。
不過配置中的user,password兩個(gè)屬性還必須設(shè)置,否則hibernate會(huì)報(bào)空指針錯(cuò)誤。

方式二:
?在Spring的"applicationContext.xml"中的dataSource bean定義——

< bean? id ="dataSource"
????class
="org.springframework.jdbc.datasource.DriverManagerDataSource" >
????
< property? name ="driverClassName" >
????????
< value > org.logicalcobwebs.proxool.ProxoolDriver </ value >
????
</ property >
????
< property? name ="url" >
????????
< value > proxool.Pool_dbname </ value >
????
</ property >
</ bean >

?

第二種方式需要預(yù)先在"web.xml"先配置好Proxool連接池,配置如下:

?

< servlet >
????
< servlet-name > proxoolServletConfigurator </ servlet-name >
????
< servlet-class >
????????org.logicalcobwebs.proxool.configuration.ServletConfigurator
????
</ servlet-class >
????
< init-param >
????????
< param-name > xmlFile </ param-name >
????????
< param-value > WEB-INF/proxool.xml </ param-value >
????
</ init-param >
????
< load-on-startup > 1 </ load-on-startup >
</ servlet >

< servlet >
????
< servlet-name > context </ servlet-name >
????
< servlet-class >
????????org.springframework.web.context.ContextLoaderServlet
????
</ servlet-class >
????
< load-on-startup > 2 </ load-on-startup >
</ servlet >

注意,第二種方式下Spring的上下文加載如果想使用listener方式(Struts2要求),
則與連接池有關(guān)的Bean全得延遲初始化。因?yàn)閘istener比servlet優(yōu)先初始化,
如果相關(guān)Bean不是lazy-init的話,則啟動(dòng)服務(wù)器時(shí)會(huì)出現(xiàn)Bean找不到連接定義的異常。

?<listener>
??<listener-class>
????? org.springframework.web.context.ContextLoaderListener
??</listener-class>
?</listener>


其中proxool的配置文件可以采用xmlFile"proxool.xml"或者propertyFile"proxool.properties"

"proxool.xml"格式如下:

<? xml?version="1.0"?encoding="UTF-8" ?>
< proxool-config >
???
< proxool >
??????
< alias > Pool_dbname </ alias >
??????
< driver-url > jdbc:mysql://localhost:3306/dbname </ driver-url >
??????
< driver-class > com.mysql.jdbc.Driver </ driver-class >
??????
< driver-properties >
??????
< property? name ="user" ?value ="yourname" />
??????
< property? name ="password" ?value ="yourpass" />
??????
</ driver-properties >
??????
< house-keeping-sleep-time > 60000 </ house-keeping-sleep-time >
??????
< maximum-connection-count > 20 </ maximum-connection-count >
??????
< minimum-connection-count > 2 </ minimum-connection-count >
??????
< prototype-count > 0 </ prototype-count >
??????
< simultaneous-build-throttle > 20 </ simultaneous-build-throttle >
??????
< house-keeping-test-sql > select?CURRENT_DATE </ house-keeping-test-sql >
??????
< statistics > 15s,10m,1d </ statistics >
??????
< statistics-log-level > INFO </ statistics-log-level >
???
</ proxool >
???
< proxool >
????
<!-- 可以配置多個(gè)庫 -->
???
</ proxool >
</ proxool-config >


"proxool.properties"格式如下:

jdbc- 0 .proxool.alias = Pool_dbname
jdbc-
0 .proxool.driver-url = jdbc:mysql://localhost: 3306 /dbname
jdbc-
0 .proxool.driver-class = com.mysql.jdbc.Driver
jdbc-
0 .user = yourname
jdbc-
0 .password = yourpass
jdbc-
0 .proxool.house-keeping-sleep-time = 60000
jdbc-
0 .proxool.house-keeping-test-sql = select?CURRENT_DATE
jdbc-
0 .proxool.maximum-connection-count = 10
jdbc-
0 .proxool.minimum-connection-count = 3
jdbc-
0 .proxool.maximum-connection-lifetime = 18000000
jdbc-
0 .proxool.prototype-count = 3
jdbc-
0 .proxool.simultaneous-build-throttle = 10
jdbc-
0 .proxool.recently-started-threshold = 60000
jdbc-
0 .proxool.overload-without-refusal-lifetime = 50000
jdbc-
0 .proxool.maximum-active-time = 60000
jdbc-
0 .proxool.verbose = true
jdbc-
0 .proxool.trace = true
jdbc-
0 .proxool.fatal-sql-exception = Fatal?error

jdbc-
2 .proxool.alias = Pool_dbname2
……
<!--可以配置多個(gè)庫-->


-----------------------------------------------------------

個(gè)人比較傾向于第二種配置方式,
一來可以避免在Spring的"applicationContext.xml"中寫一大堆參數(shù),
尤其是避免了driverUrl中帶用戶名密碼(這會(huì)顯示在proxool包中帶的
org.logicalcobwebs.proxool.admin.servlet.AdminServlet輸出的頁面中)

二來proxool連接池可以在tomcat啟動(dòng)時(shí)就初始化好,可以提高第一次訪問web時(shí)的連接速度。

spring中以dataSource方式使用proxool連接池


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 土默特右旗| 武汉市| 沐川县| 遂平县| 灌阳县| 梁平县| 金昌市| 彝良县| 应城市| 肥城市| 尼勒克县| 德安县| 霞浦县| 鄂州市| 拜泉县| 陇川县| 瑞丽市| 贵港市| 获嘉县| 荥经县| 济宁市| 信阳市| 兴仁县| 锦屏县| 丁青县| 东乌珠穆沁旗| 台山市| 兰溪市| 东安县| 平利县| 瑞金市| 资溪县| 蒲城县| 慈溪市| 丰宁| 上犹县| 右玉县| 阿克陶县| 奉新县| 洪泽县| 扎兰屯市|