今天我第二次使用proxool 這個東東,proxool是老師告訴我的(感謝他)
記錄一下使用proxool的配置,和碰到的問題。
我用的開發工具是 MyEclipse , Tomcat 6.0 ,Proxool-0.9.0
1:要將 proxool-0.9.0RC3.jar 和 commons-logging.jar 放到 Tomcat / webapps / web項目 / lib 里
<看到網路上很多人說,只用 將 proxool-0.9.0RC3.jar 拷貝到 項目的lib里,嘗試了后,重啟tomcat,提示信息要求將 commons-logging.jar 也拷入哦 >
2:在 Tomcat / webapps / web項目 / Web-Inf / 下,建立一個文件: proxool.xml,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>mydata</alias>
<driver-url>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=AD4U
</driver-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<driver-properties>
<property name="user" value="sa" />
<property name="password" value="sa" />
</driver-properties>
<maximum-connection-count>50</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
這里,mydata是別名;
driver-url是數據庫驅動的url,就是連接的url;
driver-class是驅動的類,就是數據庫驅動;
driver-properties是驅動的屬性,可以設置登陸數據庫的用戶名和密碼。
maximum-connection-count是最大連接數。
3. 修改 Tomcat / webapps / web項目 / Web-Inf / 的web.xml,在這個文件中增加如下內容:
<servlet>
<servlet-name>ServletConfigurator</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>
<需要注意的是,如果你是先在 Tomcat / webapps / web項目 / Web-Inf / 修改的web.xml,一定要記得在 MyEclipse里的該項目下,也要在 web.xml 加上 這段 <servelt> ..................</servlet>哦,我就犯了這樣一個錯誤,因為每次z在MyEclipse 下,重新發布這個項目是,tomcat下的這個項目都會被重新覆蓋的,所以你最好直接就在MyEclipse 下面 改 web.xml 好了,只用添加一次的>
到此proxool的配置就完成了,建立鏈接時需要如下代碼:
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
Connection conn = DriverManager.getConnection("proxool.mydata");
// mydata就是剛才你proxool.xml 里,一個配置的別名
// 一個proxool.xml 文件里可以配置多個 別名不同的數據庫連接應用
其它配置屬性:
maximum-connection-lifetime 最大連接生命周期 默認值:4小時
maximum-active-time: 最大活動時間 默認值:5分鐘
maximum-connection-count 最大連接數 默認值:15個
minimum-connection-count 最小連接數 默認值:5個
********************************************************************
然后就是應用了,我在應用的時候,發現tomcat提示了這樣的錯誤:
Attempt to refer to a unregistered pool by its alias 'mydata'。 --------> 是說proxool數據庫連接池未配置成功
如果你也出了這樣的錯誤,大都是因為 proxool.xml 和web.xml 沒有配置好,(我的錯就處在,上面提到的,忘了修改 MyEclipse 里的 web.xml),所以還是要耐心檢查一下你的配置, 一定會成功的。
如果成功了,啟動tomcat 的時候,就可以看見這樣的信息:
proxool的配置方法還有幾種,這里我只嘗試了上面的方式。其他的以后做了嘗試在做補充