jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  proxool是个很好的连接池,个人觉得比c3p0要好,因为我试过同样的程序,压500个客户端上去,C3P0有的时候会导致死琐,

但proxool是不会的,而且proxool能有个简单的监控页面去看到连接池的变化,下面小结之:

 

1 把proxool的两个包放到工程的lib包下

2 在src目录下新建proxool.xml的文件,配置如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
 <proxool> 
        <alias>DBPool</alias> <!--数据源的别名--> 
        <driver-url>jdbc:oracle:thin:@localhost:1521:oracle</driver-url><!--url连接串--> 
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <!--驱动类--> 
        <driver-properties> 
            <property name="user" value="itownet" /> <!--用户名--> 
            <property name="password" value="123456" /><!--密码--> 
        </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>30000</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>

 

 

3 在web.xml中加载proxool的管理工具
   <!-- proxool提供的管理监控工具,可查看当前数据库连接情况。如果运行不成功,请删除本行 -->
   <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>/admin</url-pattern>
   </servlet-mapping>

 

4 在applicationContext.xml 中配置:

   <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="hibernateProperties">
           <props>
           <prop key="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</prop>
          
              <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
               <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
              <prop key="hibernate.proxool.xml">proxool.xml</prop>
               <prop key="hibernate.proxool.pool_alias">DBPool</prop>
           </props>
       </property>
       <property name="mappingResources">

。。。。

要注意的是;     <prop key="hibernate.proxool.pool_alias">DBPool</prop>

中的DBPool其实就是proxool.xml中的那个alias

5 配置就完成了

posted on 2010-01-10 10:43  jackyrong的世界  阅读(7547)  评论(0编辑  收藏  举报