poolman连接池配置

数据库连接池 专栏收录该内容
1 篇文章 0 订阅
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

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值