com.mysql.jdbc.Driver

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

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

系統 2070 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屬性似乎沒有什么用。
無論提供什么,它都會以空用戶名、密碼去連接數據庫。
這可能是Proxool RC0.93的一個bug。
不過配置中的user,password兩個屬性還必須設置,否則hibernate會報空指針錯誤。

方式二:
?在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 >

?

第二種方式需要預先在"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要求),
則與連接池有關的Bean全得延遲初始化。因為listener比servlet優先初始化,
如果相關Bean不是lazy-init的話,則啟動服務器時會出現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 >
????
<!-- 可以配置多個庫 -->
???
</ 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
……
<!--可以配置多個庫-->


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

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

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

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 宁都县| 长兴县| 乐陵市| 连城县| 桦川县| 荥经县| 东山县| 金沙县| 西华县| 盐源县| 葵青区| 塔城市| 黎平县| 社旗县| 隆尧县| 句容市| 沧源| 宜良县| 庄浪县| 凯里市| 托里县| 宜城市| 弥渡县| 昌都县| 九龙城区| 瓦房店市| 内乡县| 宜章县| 新宁县| 甘孜县| 大足县| 修文县| 德昌县| 吉安市| 新宁县| 读书| 清涧县| 德庆县| 澎湖县| 和平县| 肇源县|