Proxool - 組態(tài)設(shè)定
Proxool 提供許多方式可以設(shè)定相關(guān)的參數(shù),這邊先介紹三種,另外還可以直接在Web應(yīng)用程式中進(jìn)行設(shè)定的方法,這在下一個(gè)主題中再說(shuō)明。可以直接在Java程式中使用java.util.Properties設(shè)定,例如:
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);
當(dāng)然這種方式是硬編碼(hard code)在程式中,要改變參數(shù)時(shí)必須修改原始檔案並重新編譯,我們也可以使用XML檔案或?qū)傩詸n來(lái)進(jìn)行設(shè)定,使用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來(lái)讀取XML,以下的示範(fàn)如何取得連線:
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
JAXPConfigurator.configure("proxool.xml", false); // false 表示不驗(yàn)證 XML
Connection conn = DriverManager.getConnection("proxool.example");
我們也可以使用屬性檔來(lái)配置Proxool,屬性檔的內(nèi)容如下:
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來(lái)讀取屬性檔,下面示範(fàn)如何取得連線:
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 閱讀(1711) 評(píng)論(2) 編輯 收藏 所屬分類: Java
我碰到一個(gè)大問(wèn)題,在數(shù)據(jù)庫(kù)連接最大活動(dòng)時(shí)間設(shè)置為:5 分鐘,最大存活時(shí)間 10 分鐘,可是 連接超時(shí)后沒(méi)有被殺死,而且都是紅色不可用。如何解決呀? 我使用 oracle 9i ,配置了兩個(gè)連接池。
我還試著執(zhí)行下面這個(gè)清除語(yǔ)句:org.logicalcobwebs.proxool.ProxoolFacade.killAllConnections("btcn");
org.logicalcobwebs.proxool.ProxoolFacade.shutdown(0); // 關(guān)閉所有連接池
不起作用,死連接一大片,沒(méi)有被清除,請(qǐng)指教