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

连接池 proxool 配置

阅读更多
首先, 你要把下载 proxool 的 lib 下面所有的 jar 文件, 放到 WEB-INF/lib 下面,

另外, 把你的 jdbc driver 也放到相同的 lib, 这里使用的是 proxool-0.9.1.jar

接着就是配置 /WEB-INF/web.xml 
web.xml 配置如下
  <!-- proxool -->
  <servlet>
     <servlet-name>proxoolInitialServlet</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>dbpoolAdmin</servlet-name>
    <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
   </servlet>
    
  <servlet-mapping>
    <servlet-name>dbpoolAdmin</servlet-name>
    <url-pattern>/dbpool</url-pattern>
  </servlet-mapping> 
然后在 WEB-INF 下面新建 proxool.xml
proxool.xml 配置如下
<?xml version="1.0" encoding="UTF-8"?>
<xml-body>

<something-else-entirely>    
    <proxool>    
        <!--连接池的别名-->    
        <alias>dbpool</alias>    
        <!--proxool只能管理由自己产生的连接-->    
        <driver-url>jdbc:mysql://localhost:3306/smeonline</driver-url>    
        <!--JDBC驱动程序-->    
        <driver-class>com.mysql.jdbc.Driver</driver-class>    
        <driver-properties>    
            <property name="user" value="root"/>    
            <property name="password" value="root"/>
            <property name="useUnicode" value="true"/>                                  
            <property name="characterEncoding" value="utf-8"/>
        </driver-properties>    
        <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->    
        <house-keeping-sleep-time>90000</house-keeping-sleep-time>    
        <!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->      
        <maximum-new-connections>150</maximum-new-connections>    
        <!-- 最少保持的空闲连接数-->      
        <prototype-count>3</prototype-count>    
        <!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->      
        <maximum-connection-count>100</maximum-connection-count>    
        <!-- 最小连接数-->    
        <minimum-connection-count>3</minimum-connection-count>    
    </proxool>    
</something-else-entirely>
</xml-body>
proxool.xml 具体配置可网上可查这里就不多说了,
部署到服务器后用 http://localhost:8080/oa/dbpoll 就可在线监控连接池状态了
记住一定要在 web 环境里面测试连接

Hibernate 里面配置 proxool.xml
<session-factory>
<!-- proxool 连接池加载类 -->
<property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<!--连接池的别名,即配置连接池时起的别名-->
<property name="hibernate.proxool.pool_alias">dbpool</property>
<!--连接池文件的地址-->
<property name="hibernate.proxool.xml">zn/oa/pojo/proxool.xml</property>
<property name="hibernate.proxool.existing_pool">false</property><!-- 此值设为 false,当 hibernate 开始被调用时,就会初始化 proxool -->
<mapping resource="zn/oa/pojo/ODepartment.hbm.xml" />
<mapping resource="zn/oa/pojo/OProvience.hbm.xml" />
<mapping resource="zn/oa/pojo/OCity.hbm.xml" />
<mapping resource="zn/oa/pojo/OEmployee.hbm.xml" />
<mapping resource="zn/oa/pojo/OCalendar.hbm.xml" />
</session-factory>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics