最近开发时用到
proxool
数据库连接池框架,这个框架
完全可配置、快速、成熟、健壮。可以透明地为你现存的
JDBC
驱动程序增加连接池功能。
先介绍下什么是
proxool
吧。我也是从网上拷贝的
:
Proxool
是一种Java
数据库连接池技术。是sourceforge
下的一个开源项目,
这个项目提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。
目前是和DBCP
以及C3P0
一起,最为常见的三种JDBC
连接池技术。 日前,Hibernate
官方宣布由于Bug
太多不再支持DBCP
,而推荐使用
Proxool
或C3P0
。
官网地址:
http://proxool.sourceforge.net/
目前最新版本是:0.9.1
。
现在我们
web
项目
第一步
:
环境配置
我们把
proxool
用的
jar
包和数据库的驱动包拷贝到
WEB-INF/lib
下面。
第二步
:
配置文件配置
我们建一个
proxool.xml
文件,文件名可以随意,不过大家都用这个了,约定俗成吧。配置文件如下,方便以后拷贝使用
:
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
something-else-entirely
>
<
proxool
>
<!--
数据源的别名
-->
<
alias
>
dbtest
</
alias
>
<!--url
连接串
-->
<
driver-url
>
jdbc:oracle:thin:@10.135.6.155:1521:oanet
</
driver-url
>
<!--
数据库
jdbc
驱动类
-->
<
driver-class
>
oracle.jdbc.driver.OracleDriver
</
driver-class
>
<
driver-properties
>
<!--
用户名
-->
<
property
name
=
"user"
value
=
"AMS_TEST"
/>
<!--
密码
-->
<
property
name
=
"password"
value
=
"1"
/>
</
driver-properties
>
<!--
最大连接数
(
默认
5
个
),
超过了这个连接数
,
再有请求时
,
就排在队列中等候
,
最大的等待请求数由
maximum-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
>
可以配置多个
something-else-entirely
标签来配置多个池。
接下来我们在
web.xml
中注册
proxool
,让
tomcat
启动时就加载
proxool
配置文件初始化
:
我们在
web.xml
文件加入以下配置
:
<
servlet
>
<
servlet-name
>
ServletConfigurator
</
servlet-name
>
<!--
ServletConfigurator:
加载并初始化
proxool.xml
文件
,
因为它是连接数据库的
.
其他很多模块都用到数据
,
所以必须首先加载它 -->
<
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:
数值越小,就会先被加载初始化-->
<
load-on-startup
>
1
</
load-on-startup
>
</
servlet
>
<
servlet
>
<
servlet-name
>
proxool
</
servlet-name
>
<
servlet-class
>
org.logicalcobwebs.proxool.admin.servlet.AdminServlet
</
servlet-class
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
proxool
</
servlet-name
>
<!—-
通过这个访问路径用来
监控数据库连接池的连接情况
-->
<
url-pattern
>
/proxool
</
url-pattern
>
</
servlet-mapping
>
当然你也可以配置受保护域,只让
TOMCAT
管理员才能查看连接池的信息
.
都配置好了。其实
proxool
提供了很多的配置方式
:
有
properties,xml,java.util.Properties
等来配置,配置方式多样化,大家可以参考官方文档
.
第三步:测试。
我在
java
代码中进行测试的时候,就是在
java
类中写个
main
方法时,总是会出现
:
Attempt to refer to a
unregistered pool by its alias 'XXX'(XXX
连接池的别名)
网上查了下说是:
连接池的应用本来就是要通过服务器调用的,如果你在java
文件中调用,就没有涉及到服务器,这样就会报错了!
如果你在java
文件中用下面这种方式加载连接池是可用的:
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
Connection conn =
DriverManager.getConnection("proxool.
别名:driver:url","
用户名","
密码");
试了下确实可以呵。
分享到:
相关推荐
标题中的“proxool配置详解”指的是Proxool,这是一个开源的数据库连接池管理工具,它在Java应用程序中用于管理和优化数据库连接。Proxool的主要作用是提高应用性能,通过复用已建立的数据库连接,避免频繁创建和...
**Proxool 数据源配置详解** Proxool是一款开源的Java数据库连接池,它提供了一种灵活、高效的方式来管理数据库连接。在Java应用程序中,数据源(DataSource)是用于管理和控制数据库连接的关键组件,它能有效地...
在使用Proxool时,理解其配置参数是至关重要的,这些参数可以调整连接池的行为,以适应不同应用场景的需求。以下是一些主要的Proxool配置参数: 1. **driver-url**: 这个参数指定数据库驱动的URL,例如`jdbc:mysql:...
### Proxool连接池配置详解 #### 一、概述 Proxool是一个开源的轻量级Java数据库连接池实现,其主要目标是替代常见的数据库连接池解决方案,如C3P0或DBCP,并且提供了更加灵活和易于配置的特性。在实际应用中,...
4. **Proxool属性详解**:上述配置中的属性如`maxActive`、`maxIdle`、`maxWait`和`timeToLive`都是Proxool的关键参数。`maxActive`定义了最大的活跃连接数,`maxIdle`是空闲连接的最大数量,`maxWait`是当所有连接...
**Proxool配置文件详解** Proxool是一个开源的数据库连接池实现,它提供了一种高效、灵活的方式来管理和控制数据库连接。在Java应用程序中,使用连接池可以显著提高性能,尤其是在高并发环境下,通过复用已存在的...
**Proxool源码分析与API详解** Proxool是一个开源的Java数据库连接池实现,它为应用程序提供了灵活且高效的数据库连接管理。在本篇中,我们将深入探讨Proxool的源码,理解其工作原理,并详细介绍相关的API,以及...
### Proxool配置详解 #### 一、简介 Proxool是一个开源的Java数据库连接池管理器,由Joe Doherty开发并维护。它能够帮助应用程序有效地管理和复用数据库连接,减少频繁创建和销毁数据库连接所带来的性能开销,从而...
**Proxool连接池详解** 在Java开发中,数据库连接管理是系统性能优化的重要环节。Proxool是一个轻量级的、开源的JDBC连接池,它为应用程序提供了高效的数据库连接管理。标题中的"proxool连接池"和描述中的"tomcat...
**Proxool数据库连接池详解** Proxool是源自SourceForge的一个开源项目,它是一款针对Java平台设计的高效、易用的数据库连接池技术。在Java应用开发中,数据库连接池是一个至关重要的组件,用于管理和复用数据库...
**Proxool 0.9.1:数据库连接池详解** `Proxool` 是一个开源的、基于Java的数据库连接池,它提供了一种高效、灵活的方式来管理和控制数据库连接。在0.9.1版本中,这个工具为开发者提供了更稳定的性能和优化的资源...
### Proxool数据库连接池配置详解 #### 一、引言 Proxool是一个轻量级的Java数据库连接池管理工具,它可以帮助开发者更高效地管理和利用数据库连接资源。通过Proxool,可以显著减少数据库连接创建和关闭的开销,...
**Hibernate Proxool连接池配置详解** 在Java应用程序中,数据库连接池是管理数据库连接的一种高效方式,它可以显著提升系统性能,减少数据库资源的浪费。本文将深入探讨Hibernate与Proxool连接池的配置,以及在...
【标题】:“连接池技术详解:以Proxool为例” 在数据库管理中,连接池是一种重要的资源优化策略,它能够有效地管理和复用数据库连接,从而提高应用系统的性能和响应速度。Proxool是Apache软件基金会的一个开源项目...
**Spring+Proxool+Hibernate+Struts2+AOP整合详解** 在Java Web开发中,Spring、Proxool、Hibernate、Struts2和AOP(面向切面编程)是常用的框架和技术,它们各自承担着不同的职责,组合使用可以构建出高效、可维护...
### Proxool数据库连接池部署知识点详解 #### 一、Proxool简介及核心功能 Proxool是一个轻量级的开源数据库连接池组件,专为Java应用程序设计,旨在优化数据库连接管理,提高应用程序的性能和响应速度。通过提供一...
### Proxool连接池配置步骤详解 #### 步骤一:部署Proxool库与JDBC驱动 首先,确保项目环境中包含了Proxool库和对应的JDBC驱动。这通常涉及到将下载的Proxool库(lib下的所有jar文件)以及JDBC驱动放置到项目的`WEB...