`
- 浏览:
117767 次
- 性别:
- 来自:
郑州
-
由于项目需求的需要,我们引入了连接池。数据库连接池的最大好处是节省开销。我们采用了Hibernate,所以可以考虑hibernate自带的连接池机制,但是发现效率不高,而且Hibernate也推荐使用c3p0或Proxool连接池,在我们的项目中采用了Proxool。因此,出现了我下面的工作。
首先去官方网站下载jar包,地址:http://sourceforge.net/projects/proxool,我选用的是最新版本的proxool-0.9.0RC3.jar,查了一下网上有人说新版本兼容性不好可能会出问题,我测试了一下觉得没有。将此jar包让放入项目的classpath或者WEB-INF/lib下面。
然后在hibernate.cfg.xml平级的目录中新增加一个Proxool的配置文件Proxool.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>
jdbc:mysql://localhost:3306/工程名?useUnicode=true&characterEncoding=UTF-8
</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<propertyname="user"value="*** "/>
<propertyname="password"value="*** "/>
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<maximum-new-connections>20</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>100</maximum-connection-count>
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
其中有几个地方需要注意:
1)<alias>DBPool</alias>这个是给连接池取一个别名,在hibernate配置文件中将引用这个别名。
2)<driver-url>
jdbc:mysql://localhost:3306/工程名?useUnicode=true&characterEncoding=UTF-8
</driver-url>
这个是驱动的路径,我们的项目采用了mysql,使用其余数据库需要更改成对应的。还有需要注意的是工程名要以数据库名为准。
3)<driver-class>om.mysql.jdbc.Driver</driver-class>
这个是数据库驱动类,不同的数据库采用不同的驱动类,即使采用同一种数据库也有多种驱动类,所以一定要选取准确。
4) <driver-properties>
<propertyname="user"value="*** "/>
<propertyname="password"value="*** "/>
</driver-properties>
这个显示数据库的用户名和密码。
5)<house-keeping-sleep-time>90000</house-keeping-sleep-time>
这个显示proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁
6)<maximum-new-connections>20</maximum-new-connections>
这个 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受
7)<prototype-count>5</prototype-count>
这个显示最少保持的空闲连接数
8)<maximum-connection-count>100</maximum-connection-count>
这个显示允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定
9)<minimum-connection-count>10</minimum-connection-count>
这个显示最小连接数
最后需要注意的是不要在这个配置文件里面写注释,不然会报如下的错误:
org.hibernate.HibernateException: Proxool Provider unable to load JAXP configurator file: Proxool.xml
Caused by: org.logicalcobwebs.proxool.ProxoolException: Parsing failed.
Caused by: org.xml.sax.SAXParseException: The string "--" is not permitted within comments.
接下来就是在hibernate.cfg.xml中改配置即可
<?xmlversion='1.0'encoding='UTF-8'?>
<!DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<propertyname="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<propertyname="hibernate.proxool.pool_alias">DBPool</property>
<propertyname="hibernate.proxool.xml">Proxool.xml</property>
<propertyname="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<propertyname="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<mappingresource="hibernate.cfg.xml"/>
这里放Hibernate的映射文件
</session-factory>
</hibernate-configuration>
有一点很重要Proxool.xml路径一定要正确.
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
the proxool configuration can be embedded within your own application's. Anything outside the "proxool" tag is ignored. --> - - <proxool> - <!-- 连接池的别名 --> <alias>DBPool</alias> - <!...
proxool配置参数说明。 spring结合proxool的datasource配置方法 及proxool-0.9.1.jar proxool-cglib.jar
包含proxool-0.9.1.jar与proxool-cglib.jar,欢迎下载
1、proxool官网,下载最新的proxool-0.9.1.jar 2、创建独立的proxool.xml文件,同时存在Web的WEB-INF目录下,根据自己的数据库类型,填写不同的数据库驱动信息及具体配置信息,本文以oracle为例。 3、创建自定义...
proxool-0.9.1.jar proxool_cglib-0.9.1.jar 用于连接池的配置
proxool-0.9.1.jar包是一个数据库连接池包,最新版解决前几个版本里在二次关闭一个rs集的时候警告等一些bug。proxool-0.9.1.jar监控在对中文监控出现乱码情况做了更改。具体是对org.logicalcobwebs.proxool.admin....
proxool-0.9.1.jar下载 hibernate3+ proxool-0.9.1配置说明 我刚配好,总结出来和大家分享下
proxool-0.9.1.jar proxool-cglib.jar
proxool-0.9.1(my).jar 包是我修改了proxool-0.9.1后的jar包,修改后可以完全支持spring配置,并添加了charSet配置属性,用于配置数据库链接的设置默认字符集,并且解决了proxool数据库连接池报如下错误的问题:...
spring+proxool配置spring+proxool配置spring+proxool配置
<property name="hibernate.proxool.pool_alias">dbpool</property> <property name="hibernate.proxool.xml"> ProxoolConf.xml </property> <property name="connection.provider_class"> org.hibernate....
proxool-0.9.1.jar,proxool-cglib.jar,proxool-0.8.3.jar
此Proxool修改包已经加入加密解密功能,直接加入压缩包中的jar再将DecUtil类放于项目,此类中有main方法生成加密和解密文。本人已经自用项目一切OK,希望你也行,因为很费时间费力顾10分对不起了,不会用的可以评论...
项目实用的proxool连接池配置文件,每个标签都有注释,可以直接拿来使用
proxool.0.9.1基础上做了修改。 改jar名称为:proxool-0.9.1.1,主要修改为以下3点: 1.解决不能Unregister jdbc driver的内存泄露问题。 十二月 02, 2013 8:19:43 上午 org.apache.catalina.loader....
本项目采用当前主流的MVC和IOC框架spring 3、优秀的ORM框架hibernate和超级厉害的proxool数据库连接池。这个工程demo,是本人在企业应用中的项目缩影,绝对实用于企业的应用。 适合朋友: 1.一直用单独的servlet和...
proxool 数据库连接池用户名、密码加密处理,文件里面包含可直接使用加密的jar以及相关使用说明。
spring配置proxool连接db2用到的proxool相关jar包:proxool-cglib.jar;proxool-0.9.1.jar ;proxool-listenerCfg.jar。
有oracle连接池proxool 用到的jar 包 还有jdbc的驱动包 proxool的源码包 Java实现oracle proxool 单态的例子等