spring datasource 使用 proxool

XmlWebApplicationContext使用的xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.3.xsd">
    
    <bean id="proxoolDatasource" class="org.logicalcobwebs.proxool.ProxoolDataSource" lazy-init="false" 
            p:alias="proxoolPool"
            p:driver="com.mysql.jdbc.Driver"
            p:driverUrl="jdbc:mysql://localhost:3306/mydatabase"
            p:user="user1"
            p:password="123456"
            p:minimumConnectionCount="10"
            p:maximumConnectionCount="200"
            p:houseKeepingSleepTime="90000"
            p:maximumActiveTime="108000"
            p:maximumConnectionLifetime="1200000"
            p:prototypeCount="5"
            />
    
</beans>

关于proxool 中的参数说明,括号内为 配置dataSource时的参数名:

注意:所有时间参数单位都是ms。

1. house-keeping-sleep-time (houseKeepingSleepTime):

默认值:30s

作用: 时间间隔,检查连接状态和通过测试house-keeping-test-sql指定的SQL语句创建和销毁连接。

2. house-keeping-test-sql (houseKeepingTestSql)

默认值:无

作用:测试连接状态的简单SQL语句,如果没有定义, 则测试会被忽略。

3. maximum-active-time (maximumActiveTime)

默认值: 5mins

作用:house-keeping-sleep-time检查时发现 某个连接占用的时间超过该时间 时 会关闭该连接,此值要比期待响应的最长时间要大。

4. maximum-connection-count (maximumConnectionCount):

默认值: 15

作用: 连接池 可以使用 的最大连接数量。

5. maximum-connection-lifetime(maximumConnectionLifetime):

默认值: 4 hours 

作用:连接的最大生存时间,超过这个时间 连接就会被销毁。

6. minimum-connection-count(minimumConnectionCount):

默认值:5

作用:连接池 使用 的最小连接数量

7. prototype-count(prototypeCount)

默认值:0

作用:在不超过最大连接数的情况下,连接池中保证的空闲连接的数量。

8. overload-without-refusal-lifetime(overloadWithoutRefusalLifetime)

默认值:60s

作用:用于判断连接池是否超负荷的时间,如果在这个时间内 连接池无法提供连接, 那么说明连接池已超负荷。

9. maximum-new-connections (已废弃),参见simultaneous-build-throttle

10. simultaneous-build-throttle (simultaneousBuildThrottle)

默认值:10

作用:最多同时可以创建连接的个数。参见源码org.logicalcobwebs.proxool.Prototyper.buildConnection(int, String)方法。

11. recently-started-threshold(recentlyStartedThreshold)

默认值:60s

作用:用来判断连接池状态的一个时间值,某个连接的活跃时间小于该值 或者 连接池中有空闲的连接,则连接池的状态为UP。

12.trace(trace)

默认值:false

作用:是否每次执行SQL都在日志里记录(DEBUG)

13.jmx(jmx)

默认值:false

作用:如果设为true,那么连接池会注册为一个JMX Sever的 MBean, 使用的名字是 Proxool:type=Pool, name=<alias>

14.jmx-agent-id(jmxAgentId)

默认值:无

作用:逗号分隔的ID 列表, 被 MBeanServerFactory.findMBeanServer(String agentId) 使用

15.jndi-name:

默认值:无

作用:参见DataSource 说明

16. alias:

默认值:null

作用:连接池使用的别名。

 另外数据库连接信息由下面几个参数指定:

driver="com.mysql.jdbc.Driver"
driverUrl="jdbc:mysql://localhost:3306/mydatabase"
user="user1"
password="123456"
posted @ 2017-06-16 18:10  WanderingAlbatross  阅读(1722)  评论(0编辑  收藏  举报