Proxool 連接池 配置 實例

proxool 配置的時候可以 以 Proxool.properties 或者 Proxool.xml 兩種方式初始化。 我的配置環境是 Tomcat6.0 + mysql5.0 。 數據庫是 FileShare。

配置前先要下載 proxool-0.9.1RC2.zip,拷貝proxool-0.9.1.jar 和 proxool-cglib.jar 到web-info/lib   下載proxool 地址:http://proxool.sourceforge.net

先說下 第一種方法吧:

1. 新建 Proxool.properties 文件,可放在 WEB-INF 文件夾下 。內容如下。

jdbc-0.proxool.alias=mysql
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/FileShare
jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver
jdbc-0.user=root
jdbc-0.password=root
jdbc-0.proxool.maximum-connection-count=30
jdbc-0.proxool.minimum-connection-count=5
jdbc-0.proxool.prototype-count=3
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
jdbc-0.proxool.verbose=true
jdbc-0.proxool.statistics=10s,1m,1d
jdbc-0.proxool.statistics-log-level=ERROR

2. 向 web.xml 中添加 proxool初始化設置servlet 。 即 添加如下內容:

<servlet>
     <servlet-name>ServletConfigurator</servlet-name>
     <servlet-class>
     org.logicalcobwebs.proxool.configuration.ServletConfigurator
     </servlet-class>
     <init-param>
      <param-name>propertyFile</param-name>
      <param-value>WEB-INF/Proxool.properties</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
    </servlet>

   如果想要監控 proxool 連接池信息,可以加如下信息。 輸入http://localhost:8080/AjaxTest/admin.proxool 即可看見
<servlet>
   <servlet-name>Admin</servlet-name>
   <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>Admin</servlet-name>
   <url-pattern>/admin.proxool</url-pattern>
</servlet-mapping>

3. 在 新建 test.jsp 內容如下

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
   Connection conn = null;
   try {
    Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
     conn = DriverManager.getConnection("proxool.mysql");
    if( conn!=null )
     System.out.println("數據庫連接測試成功!");
    Statement stmt = conn.createStatement();
    ResultSet rst = null;
    rst = stmt.executeQuery("select * from users"); // sql 查詢語句,視具體情況而定
    while( rst.next() )
     out.println(rst.getString(1));
   }catch(SQLException e){
    System.out.print( e.toString() );
// }catch(ProxoolException el) {
//   System.out.print( el.toString() );
   } catch(Exception ee){
    System.out.print( ee.toString() );
   }
   finally {
    try {
     if(conn != null)
      conn.close();
    }catch(SQLException e2) {
     System.out.print( e2.toString() );
    }
   }
%>

</body>
</html>

然後重啓 Tomcat即可。

個人覺得 Proxool.properties 方式比較好,屬性很容易看見。 如果想以 Proxool.xml 方式配置,只需

1. 在 WEB-INF 下建立 Proxool.xml 文件,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
    <proxool-config>
     <proxool>
      <alias>mysql</alias>
      <driver-url>jdbc:mysql://localhost:3306/FileShare</driver-url>
      <driver-class>com.mysql.jdbc.Driver</driver-class>
      <driver-properties>
       <property name="user" value="root" />
       <property name="password" value="root" />
      </driver-properties>
      <house-keeping-sleep-time>90000</house-keeping-sleep-time>
      <maximum-new-connections>20</maximum-new-connections>
      <prototype-count>5</prototype-count>
      <maximum-connection-count>30</maximum-connection-count>
      <minimum-connection-count>10</minimum-connection-count>
     </proxool>
    </proxool-config>


2. 修改 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>

3. jsp 頁面可以不用修改 直接用上面的 test.jsp 即可(因爲只是配置方式不同而已,效果一樣的)。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章