Proxool - 組態設定
Proxool 提供許多方式可以設定相關的參數,這邊先介紹三種,另外還可以直接在Web應用程式中進行設定的方法,這在下一個主題中再說明。可以直接在Java程式中使用java.util.Properties設定,例如:
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
Properties info = new Properties();
info.setProperty("proxool.maximum-connection-count", "20");
info.setProperty("proxool.house-keeping-test-sql", "select CURRENT_DATE");
info.setProperty("user", "caterpillar");
info.setProperty("password", "123456");
Connection conn = DriverManager.getConnection(
"proxool.example:com.mysql.jdbc.Driver:jdbc:mysql://localhost:3306/GUESTBOOK", info);
當然這種方式是硬編碼(hard code)在程式中,要改變參數時必須修改原始檔案並重新編譯,我們也可以使用XML檔案或屬性檔來進行設定,使用XML檔案的方式如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<something-else-entirely>
<proxool>
<alias>example</alias>
<driver-url>jdbc:mysql://localhost:3306/GUESTBOOK</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="caterpillar"/>
<property name="password" value="123456"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
其中example是連接池的別名(Alias),我們使用org.logicalcobwebs.proxool.configuration.JAXPConfigurator來讀取XML,以下的示範如何取得連線:
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
JAXPConfigurator.configure("proxool.xml", false); // false 表示不驗證 XML
Connection conn = DriverManager.getConnection("proxool.example");
我們也可以使用屬性檔來配置Proxool,屬性檔的內容如下:
jdbc-0.proxool.alias=example
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/GUESTBOOK
jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver
jdbc-0.user=caterpillar
jdbc-0.password=123456
jdbc-0.proxool.maximum-connection-count=10
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
我們使用org.logicalcobwebs.proxool.configuration.PropertyConfigurator來讀取屬性檔,下面示範如何取得連線:
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
org.logicalcobwebs.proxool.configuration.PropertyConfigurator.configure("proxool.properties");
Connection conn = DriverManager.getConnection("proxool.example");
posted on 2006-03-23 00:04 Vincent.Chen 閱讀(1705) 評論(2) 編輯 收藏 所屬分類: Java
我碰到一個大問題,在數據庫連接最大活動時間設置為:5 分鐘,最大存活時間 10 分鐘,可是 連接超時后沒有被殺死,而且都是紅色不可用。如何解決呀? 我使用 oracle 9i ,配置了兩個連接池。
我還試著執行下面這個清除語句:org.logicalcobwebs.proxool.ProxoolFacade.killAllConnections("btcn");
org.logicalcobwebs.proxool.ProxoolFacade.shutdown(0); // 關閉所有連接池
不起作用,死連接一大片,沒有被清除,請指教