`
56858752
  • 浏览: 61219 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Proxool连接池详细配置

阅读更多

1.先下载Proxool连接池

 地址:http://sourceforge.net/projects/proxool/files/proxool/0.9.1/proxool-0.9.1.zip/download

 

2.将proxool包导入到项目中,proxool-0.9.1.jar、proxool-cglib.jar,(注意:这里还要导入commons-logging.jar包,proxool没有自带这个包

 

3、在WEB-INF下建proxool.xml文件,文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
	<proxool>
		<alias>OA</alias>
		<driver-url>jdbc:oracle:thin:@127.0.0.1:1521:orcl</driver-url>
		<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
		<driver-properties>
			<property name="user" value="HCOA"></property>
			<property name="password" value="HCOA"></property>
		</driver-properties>
		<!-- 最大连接数(默认15个),超过这个连接数,再有请求时,就排在队列中等候,最大的等待请求数maxnmun-new-connections决定 -->
		<maximum-connection-count>100</maximum-connection-count>
		<!-- 最小连接数(默认2个) -->
        <minimum-connection-count>10</minimum-connection-count>
        <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的链接就马上回收,超时的就销毁 默认30秒 -->
        <house-keeping-sleep-time>90000</house-keeping-sleep-time>
        <!-- 没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户就不会被接受 -->
        <maximum-new-connections>10</maximum-new-connections>
        <!-- 最少保持的空闲连接数(默认2个) -->
        <prototype-count>5</prototype-count>
        <!-- 在使用之前测试 -->
        <test-before-use>true</test-before-use>
        <!-- 用于保持连接的测试语句 -->
        <house-keeping-test-sql>select sysdate from dual</house-keeping-test-sql>
	</proxool>
</something-else-entirely>

 

这里请注意 如果你拷贝我的代码出现的错误 请手动敲进去 这里可能是编码的问题 或者将中文去掉

 

4.修改WEB.XML,代码如下:

<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>  
  
<servlet>  
  <servlet-name>Admin</servlet-name>  
  <servlet-class>  
    org.logicalcobwebs.proxool.admin.servlet.AdminServlet   
  </servlet-class>  
</servlet>  

 

5.写方法调用,我这里贴出代码,如有错误请指出,谢谢!

 

package com.fp.comm;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.logicalcobwebs.proxool.ProxoolException;
import org.logicalcobwebs.proxool.ProxoolFacade;
import org.logicalcobwebs.proxool.admin.SnapshotIF;

public class PoolManager {

	private static int activeCount = 0;
	//单例 唯一实例
	private static class PoolManagerInstanse{
		private static final PoolManager instance = new PoolManager();
	}
    
    public static PoolManager getInstance(){
    	return PoolManagerInstanse.instance;
    }
    
    public Connection getConnection(){
    	Connection conn = null;
    	try{
    		Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");  //加载驱动
    		conn = DriverManager.getConnection("proxool.OA"); //此处的DBPool是在proxool.xml中配置的连接池别名 
    		showSnapshotInfo();
    		
    	}catch(Exception e){
    		System.out.println(e.getMessage());
    	}
    	return conn;
    }
    
    /**       
     * 此方法可以得到连接池的信息       
     * showSnapshotInfo       
     */       
    private void showSnapshotInfo(){         
        try{         
            SnapshotIF snapshot = ProxoolFacade.getSnapshot("OA", true);         
            int curActiveCount=snapshot.getActiveConnectionCount();//获得活动连接数         
            int availableCount=snapshot.getAvailableConnectionCount();//获得可得到的连接数         
            int maxCount=snapshot.getMaximumConnectionCount() ;//获得总连接数         
            if(curActiveCount!=activeCount)//当活动连接数变化时输出的信息         
            {         
             System.out.println("活动连接数:"+curActiveCount+"(active)  可得到的连接数:"+availableCount+"(available)  总连接数:"+maxCount+"(max)");                     
             activeCount = curActiveCount;         
            }         
        }catch(ProxoolException e){         
            e.printStackTrace();         
        }         
    }       
    
    /**       
     * 释放连接       
     * freeConnection       
     * @param conn       
     */       
    public static void freeConnection(Connection conn){         
        if(conn != null){         
            try {         
                conn.close();         
            } catch (SQLException e) {                       
                e.printStackTrace();         
            }         
        }         
    }
    
    public static void main(String[] args) {
		PoolManager pool1 = PoolManager.getInstance();
		PoolManager pool2 = PoolManager.getInstance();
		
		if(pool1 == pool2){
			System.out.println(true);
		}else{
			System.out.println(false);
		}
	}
}

 

 

 6。获取连接的方法

 

 Connection conn = PoolManager.getInstance().getConnection();

分享到:
评论

相关推荐

    proxool连接池配置文件

    项目实用的proxool连接池配置文件,每个标签都有注释,可以直接拿来使用

    proxool连接池配置详解

    ### Proxool连接池配置详解 #### 一、概述 Proxool是一个开源的轻量级Java数据库连接池实现,其主要目标是替代常见的数据库连接池解决方案,如C3P0或DBCP,并且提供了更加灵活和易于配置的特性。在实际应用中,...

    在Hibernate中配置Proxool连接池

    本篇将详细介绍如何在Hibernate中配置Proxool连接池。 首先,我们需要在Spring的配置文件`applicationContext.xml`中设置SessionFactory Bean。SessionFactory是Hibernate的核心组件,它负责创建Session对象,而...

    proxool连接池使用详细说明

    下面将详细讲解Proxool连接池的使用方法及其核心概念。 1. **Proxool简介** Proxool是Apache软件基金会的一个开源项目,它提供了一个轻量级的数据库连接池实现。Proxool通过创建一个数据库连接池来管理数据库连接...

    proxool连接池用户名密码加密

    2. **使用说明**:这份文档详细阐述了如何在Proxool连接池配置中使用加密的用户名和密码。它可能涵盖了以下步骤: - **加密过程**:说明如何使用提供的jar文件对数据库的用户名和密码进行加密,生成可以安全存储的...

    proxool连接池配置

    -- 连接池的别名 --&gt; &lt;alias&gt;DBPool&lt;/alias&gt; - &lt;!-- proxool只能管理由自己产生的连接 --&gt; &lt;driver-url&gt;jdbc:sqlserver://localhost:1433;dataBaseName=books&lt;/driver-url&gt; - &lt;!-- JDBC驱动程序 --&gt; ...

    Hibernate Proxool连接池配置总结及常遇问题

    **Hibernate Proxool连接池配置详解** 在Java应用程序中,数据库连接池是管理数据库连接的一种高效方式,它可以显著提升系统性能,减少数据库资源的浪费。本文将深入探讨Hibernate与Proxool连接池的配置,以及在...

    基于ssh的proxool连接池配置

    下面我们将深入探讨基于SSH的Proxool连接池配置。 首先,配置环境:MyEclipse5.5,Windows 2003操作系统,Oracle和MySQL数据库。在这样的环境中,Proxool连接池可以帮助我们更高效地管理数据库连接,提高应用程序的...

    Proxool连接池配置

    标题与描述均聚焦于“Proxool连接池配置”,这一主题是Java开发中数据库连接管理的重要环节。Proxool作为一款轻量级的开源数据库连接池实现,它提供了高效的数据库连接管理和复用机制,旨在减少应用程序创建和销毁...

    Proxool连接池使用方法

    Proxool连接池使用方法 首先, 你要把下载 proxool 的 lib 下面所有的 jar 文件, 放到 WEB-INF/lib 下面, 另外, 把你的 jdbc driver 也放到相同的 lib,

    关于proxool数据库连接池的配置集合

    本篇文章将深入探讨Proxool数据库连接池的配置及其重要性。 首先,理解Proxool的基本概念是必要的。Proxool是Proxy + Pool的组合,它通过代理(Proxy)机制来管理数据库连接,使得应用程序可以透明地使用连接池。...

    proxool连接池所涉及的jar包文件

    在本压缩包中,包含的是与Proxool连接池相关的MySQL驱动jar包,这将有助于在Java应用程序中建立与MySQL数据库的连接。 首先,我们来深入理解一下Proxool连接池。Proxool的核心功能是创建一个池化的数据库连接集合,...

    proxool连接池jar包

    3. 初始化连接池:在应用启动时加载配置,并初始化Proxool连接池。 4. 获取和释放连接:在需要访问数据库时,从连接池中获取连接;完成操作后,记得释放回连接池,而不是直接关闭。 5. 监控和诊断:定期检查Proxool...

    Spring+Hibernate+Proxool连接池

    在描述中提到的“连接池配置文件”,通常是指像`proxoolconf.xml`这样的文件,其中包含了Proxool连接池的配置参数。这些参数包括但不限于: 1. **poolName**:唯一标识连接池的名称,方便管理和调试。 2. **...

    ssh2简单案例,注解+proxool连接池+sf4j记录日志

    总结起来,这个案例涵盖了SSH2安全通信、Java注解简化配置、Proxool连接池优化数据库访问,以及SF4J的日志记录,这些都是Java开发中不可或缺的技术组件。通过学习和理解这个案例,开发者可以提升在构建安全、高效、...

    proxool连接池

    下面将详细讲解Proxool连接池的工作原理、配置方法以及在Tomcat中的使用。 ### 1. Proxool简介 Proxool是一个基于代理的数据库连接池,它通过创建数据库连接的虚拟池来实现连接复用,从而提高系统的运行效率。...

    Proxool连接池jar包

    2. **连接池配置(Pool Configuration)**:开发者可以通过配置文件或者代码来定义连接池的参数,如最大连接数、最小连接数、空闲连接存活时间等,以满足不同应用场景的需求。 3. **代理连接(Proxy Connection)**...

    Spring2.5配置proxool连接池

    Spring2.5配置proxool连接池

Global site tag (gtag.js) - Google Analytics