poolman連接池配置

poolman連接池配置
2009年01月05日 星期一 0:22

poolman下載 http://groups.google.com/group/vjame/files

在WEB項目中的配置:

第一步:文件配置
首先你要把jar包放到 /項目名稱/web-inf/lib 下,poolman帶的jar包很多,其中required就5個.
1. poolman.jar poolman的核心包.
2. jdbc2_0-stdext.jar 提供poolman連接池繼承的JDBC接口
3. jaxp.jar 用於讀XML配置文件
4. crimson.jar 同上
5. log4j.jar 記日誌的

其它的一般用不到.

poolman.xml是連接池的配置文件, 放到 /項目名稱/web-inf/classes 下

第二步:配置XML文件

給一個最簡單必要的配置文件內容

<?xml version="1.0" encoding="UTF-8"?>
<poolman>
<management-mode>local</management-mode>

<datasource>

數據庫的名字
<dbname>SIPO</dbname>
jndi的名字
<jndiName>sipo</jndiName>
驅動字符串
<driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver>
連接字符串 <url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=SIPO</url>
數據庫登錄用戶名
<username>sipo</username>
數據庫登錄密碼
<password>sipo</password>
日誌文件的文件名(含路徑)
<logFile>sipo.log</logFile>
是否可用預執行
<poolPreparedStatements>true</poolPreparedStatements>
初始化後連接個數
<initialConnections>5</initialConnections>
最小連接個數
<minimumSize>5</minimumSize>
最大連接個數
<maximumSize>200</maximumSize>
達到最大連接個數後是否可以再創建新的連接
<maximumSoft>true</maximumSoft>
XX秒後destory連接
<connectionTimeout>600</connectionTimeout>
在返回連接池前用戶可以保持XX秒
<userTimeout>12</userTimeout>
</datasource>
</poolman>

第三步:JAVA

在你的數據庫基類裏面這樣寫就可以了

import com.codestudio.sql.PoolMan;
import javax.sql.DataSource;
import java.sql.SQLException;

public class DbCtrl {
private Connection con;
private Statement st;
public void getConnection() throws ClassNotFoundException,
SQLException {
con = null;
DataSource ds = PoolMan.findDataSource("sipo");
con = ds.getConnection();
st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
}
}

在應用項目中的配置

第一步:新建java工程,創建數據庫表和錄入數據

第二步:: 導入所需要的jar包,以及配置poolman.xml

<?xml version="1.0" encoding="UTF-8"?>
<poolman>
<datasource>
   <dbname>default</dbname>
   <jndiName>default</jndiName>
   <driver>com.mysql.jdbc.Driver</driver>
   <url>jdbc:mysql://localhost:3306/test</url>
   <username>root</username>
   <password>root</password>
   <poolPreparedStatements>false</poolPreparedStatements>
   <initialConnections>3</initialConnections>
   <minimumSize>0</minimumSize>
   <maximumSize>10</maximumSize>
   <maximumSoft>true</maximumSoft>
   <connectionTimeout>300</connectionTimeout>
   <userTimeout>0</userTimeout>
   <skimmerFrequency>300</skimmerFrequency>
   <shrinkBy>10</shrinkBy>
   <transactionTimeout>100</transactionTimeout>
   <cacheEnabled>false</cacheEnabled>
   <cacheSize>10</cacheSize>
   <cacheRefreshInterval>120</cacheRefreshInterval>
   <removeOnExceptions>false</removeOnExceptions>
</datasource>
</poolman>

第三步:創建數據庫操作類DbCtrl

package com.test;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.sql.DataSource;

import com.codestudio.sql.PoolMan;

public class DbCtrl {

private static Connection con = null;
private static Statement st = null;

public static void getConnection() throws ClassNotFoundException, SQLException {
   con = null;
   DataSource ds = PoolMan.findDataSource("default");
   con = ds.getConnection();
   st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
}

public static void main(String arg[]) {
   try {
    DbCtrl.getConnection();
    System.out.println(con);
    ResultSet rs = st.executeQuery("select * from test");
    while(rs.next()){
     System.out.print(rs.getString(1));
     System.out.print(rs.getString(2));
     System.out.print(rs.getString(3));
     System.out.print(rs.getString(4));
     System.out.println(rs.getString(5));
    }
   } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
}
}

第四步: 運行結果

2009年1月5日 上午12時17分50秒 CST: default received null value for log file, using System.out
2009年1月5日 上午12時17分51秒 CST: PoolMan JDBCPool unable to locate a default JNDI provider, default DataSource not bound to JNDI: null
2009年1月5日 上午12時17分51秒 CST: PoolMan Local Pool Deployer: Created JDBC XA Connection Pool named: default
com.codestudio.sql.PoolManConnectionHandle@80d1ff
11111

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