`
wangzi6hao
  • 浏览: 213059 次
  • 性别: Icon_minigender_1
  • 来自: sdf
社区版块
存档分类
最新评论

proxool数据连接池 java代码

    博客分类:
  • Java
阅读更多

2009-09-17 22:16

package com.job36.database;

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 ConnectionPool{

private static int activeCount = 0;

private static ConnectionPool instance;

public ConnectionPool() {

}

private void init() throws SQLException {

}

/**
* 返回唯一实例.如果是第一次调用此方法,则创建实例
* 
* @return ConnectionPool 唯一实例
*/
public static ConnectionPool getInstance() {
if (instance == null) {
try {
instance = new ConnectionPool();
instance.init();
} catch (java.sql.SQLException sqle) {
System.out.println("getInstance() Exception1:"
+ sqle.toString());
}
}
return instance;
}

/**
* 获取连接 getConnection
* 
* @param name
* @return
*/
public Connection getConnection() throws SQLException {
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
Connection conn = DriverManager.getConnection("proxool.DBPool");
showSnapshotInfo();
return conn;
} catch (Exception ex) {
System.out.println("获取连接失败..");
showSnapshotInfo();
ex.printStackTrace();
}
return null;
}

/**
* 此方法可以得到连接池的信息 showSnapshotInfo
*/
private void showSnapshotInfo() {
try {
SnapshotIF snapshot = ProxoolFacade.getSnapshot("DBPool", 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();
}
}

/**
* 获取连接 getConnection
* 
* @param name
* @return
*/
public Connection getConnection(String name) throws SQLException {
return getConnection();
}

/**
* 释放连接 freeConnection
* 
* @param conn
*/
public void free(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

/**
* 释放连接 freeConnection
* 
* @param name
* @param con
*/
public void freeConnection(String name, Connection con) {
free(con);
}
}

 WEB.xml

<filter>
<filter-name>AdminLoginFilter</filter-name>
<filter-class>
com.job36.filter.AdminLoginFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>AdminLoginFilter</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>

<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\classes\proxool.properties
</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>

<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>/job36/pool</url-pattern>
</servlet-mapping>

 proxool.properties文件

jdbc-0.proxool.alias=DBPool
jdbc-0.proxool.driver-url=jdbc:inetdae7:192.168.3.251:1433?database=blog&charset=GBK
jdbc-0.proxool.driver-class=com.inet.tds.TdsDriver
jdbc-0.user=sa
jdbc-0.password=job36web
jdbc-0.proxool.house-keeping-sleep-time=40000
jdbc-0.proxool.house-keeping-test-sql=SELECT ''
jdbc-0.proxool.maximum-connection-count=50
jdbc-0.proxool.minimum-connection-count=15
jdbc-0.proxool.maximum-connection-lifetime=18000000
jdbc-0.proxool.simultaneous-build-throttle=5
jdbc-0.proxool.recently-started-threshold=40000
jdbc-0.proxool.overload-without-refusal-lifetime=50000
jdbc-0.proxool.maximum-active-time=60000
jdbc-0.proxool.verbose=true
jdbc-0.proxool.trace=true
jdbc-0.proxool.fatal-sql-exception=Fatal error
jdbc-0.proxool.prototype-count=2
jdbc-0.proxool.statistics-log-level=ERROR
 
分享到:
评论

相关推荐

    proxool数据库连接池实例(带监控功能)

    本文将详细介绍Proxool数据库连接池及其监控功能,通过一个实际的实例来展示其工作原理和使用方法。 Proxool是Apache软件基金会的一个开源项目,它提供了一个轻量级、高性能的数据库连接池解决方案。Proxool与其他...

    proxool连接池

    5. **透明性**:对应用程序来说,使用Proxool 连接池几乎无需修改原有代码,因为它的API设计与JDBC接口兼容。 ### Proxool 的基本配置: 在使用Proxool之前,需要进行必要的配置,通常通过XML文件来完成。配置文件...

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

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

    mysqlproxool连接池

    MySQL ProxyPool,通常简称为Proxool,是一个开源的数据库连接池实现,它为Java应用程序提供了高效的数据库连接管理。在Java应用中,数据库连接池是关键的组件之一,它能够有效地管理和复用数据库连接,从而提高系统...

    java红数据连接池包下载

    标题提到的"java红数据连接池包下载",指的是包含了Proxool连接池及其依赖的Java包。 首先,我们要理解数据库连接池的基本概念。数据库连接池在应用程序启动时创建一定数量的数据库连接,并将它们存储在内存中,以...

    ssh小框架(proxool连接池)

    在实际项目中,"newMind"可能是一个包含有关SSH框架和Proxool连接池的教程、示例代码或者思维导图的文件。这个文件可以帮助开发者理解如何在SSH框架下集成并配置Proxool,从而提升应用的性能和稳定性。学习这部分...

    ssh数据库连接池proxool

    通过阅读Proxool的源代码,可以了解到连接池的实现细节,如连接的创建、回收、检测以及线程安全等机制。 总结起来,Proxool是SSH框架下常用的数据库连接池,它的配置方式多样,易于集成,且具有良好的监控和性能。...

    Spring+Hibernate+Proxool连接池

    标题“Spring+Hibernate+Proxool连接池”意味着我们将讨论如何将这三大组件集成在一起,以构建一个高效且可扩展的Java Web应用。Spring作为容器,负责管理对象的生命周期和依赖关系;Hibernate则作为一个ORM(对象...

    proxool连接池.txt

    ### Proxool连接池知识点详解 #### 一、Proxool连接池简介 Proxool是Logical Cobwebs公司开发的一款轻量级的JDBC连接池组件。它通过提供高效的数据库连接管理和复用机制来提高应用程序的性能。Proxool不仅支持多种...

    配置Hibernate使用Proxool连接池

    2. 配置Hibernate:在Hibernate的主配置文件(通常是hibernate.cfg.xml)中,需要定义数据源,指定使用Proxool连接池。例如: ```xml ... &lt;property name="hibernate.connection.provider_class"&gt;org....

    spring+dwr+proxool连接池

    标题中的"spring+dwr+proxool连接池"指的是一个整合了Spring框架、Direct Web Remoting (DWR)和Proxool数据库连接池技术的应用程序。这个应用可能用于创建一个能够实时交互的Web应用程序,其中Spring提供了依赖注入...

    数据连接池用法(C3PO,proxool,dbcp,bonecp)

    本文将详细介绍四个常见的Java数据连接池组件——C3PO、Proxool、DBCP和BoneCP的配置与用法。 首先,我们来看C3PO(Comprehensive3rdPartyPooling),这是一个基于Apache Commons DBCP的数据库连接池实现,具有更好...

    hibernate与proxool连接池整合demo

    这段代码展示了如何使用整合后的Hibernate和Proxool连接池打开Session,开始事务,执行数据操作并提交事务。 5. 性能优化: 整合后,你可以根据应用负载调整Proxool的配置,比如增加最大连接数以应对高并发场景,...

    proxool-0.9连接池+hibernate

    `Proxool`是Java语言编写,它为应用程序提供了高效、可配置、线程安全的数据库连接池服务。在本资料中,我们将深入探讨`Proxool-0.9`版本与`Hibernate`框架的整合,以及它们在实际应用中的作用和配置方法。 `...

    FCK在线编译器JSP自定义函数Proxool连接池配置信息.

    3. 在JSP或Servlet中初始化连接池:通过代码或者应用服务器的配置,加载并初始化Proxool配置。 4. 获取和释放连接:在需要使用数据库的地方,从连接池获取连接,使用完毕后归还给连接池。 在提供的文件中,`jsp工具...

    java使用proxool连接mysql数据库

    Java 使用 Proxool 连接 MySQL 数据库是一个常见的任务,特别是在需要管理多个数据库连接或者希望实现连接池功能的场景下。Proxool 是一个轻量级的数据库连接池,它提供了一种简单的方法来管理和控制数据库连接,以...

    Struts2+spring+hibernate中的proxool连接池配置

    3. **配置Hibernate**: 在Hibernate的配置文件(如`hibernate.cfg.xml`)中,将数据源设置为刚刚创建的Proxool数据源bean。比如: ```xml ... ... &lt;property name="connection.datasource"&gt;java:comp/env/...

    Proxool-数据源配置详解

    将Proxool数据源集成到Java应用中,通常需要在应用服务器或应用程序的初始化代码中进行配置。例如,在Spring框架中,可以通过XML配置文件定义一个Bean来创建数据源。 8. **监控与日志** Proxool提供了一些内置的...

Global site tag (gtag.js) - Google Analytics