Druid1.0.25 连接池及监控配置

一、引入jar包:druid-1.0.25.jar

官方下载地址:http://repo1.maven.org/maven2/com/alibaba/druid/

二、spring配置:applicationContext.xml

监控还是会耗内存的,性能测试完毕后,可取消配置

<!-- 注入数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
	destroy-method="close"> <!-- 当数据库连接不使用时,重新放回连接池 -->
    <!-- Druid会根据url自动获取jdk下的数据库driver -->
	<!-- <property name="driverClassName" value="${jdbc.driverClassName}" /> -->
    <!-- 数据库连接基本属性 -->
	<property name="url" value="${jdbc.url}" /> <!-- 数据库连接地址 -->
	<property name="username" value="${jdbc.username}" /> <!-- 用户名 -->
	<property name="password" value="${jdbc.password}" /> <!-- 密码 -->
	<property name="initialSize" value="20" /> <!-- 初始连接数 -->
	<property name="maxActive" value="100" /> <!-- 最大活动连接数 -->
    <!-- 获取连接等待超时时间,设置后缺省启用公平锁,优先排队等待的进程,但影响并发效率(推荐) -->
    <!-- 设置属性useUnfairLock为true使用非公平锁,可能导致一些排队线程永远无法处理 -->
	<property name="maxWait" value="60000" />
    <!-- <property name="maxIdle" value="30" /> --> <!-- 已取消,配置了不报错但是不生效 -->
	<property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 检测关闭空闲连接 -->
	<property name="minEvictableIdleTimeMillis" value="300000" /> <!-- 连接最小生存时间 -->
	<property name="validationQuery" value="SELECT 'x'" /> <!-- 检测连接是否有效 -->
	<property name="testWhileIdle" value="true" /> <!-- 时间大于(timeBet...Millis)检测连接是否有效 --> 
    <property name="testOnBorrow" value="false" /> <!-- 申请连接时检测 -->
    <property name="testOnReturn" value="false" /> <!-- 归还连接时检测 -->
    <property name="poolPreparedStatements" value="true" /> <!-- PSCache 准备语句对象缓存-->
    <!-- 每个连接上PSCache的大小 -->
    <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> 

    <!-- 监控统计拦截器,监控sql情况,well:防火墙,log4j:日志。均为合并关系 -->
    <property name="filters" value="stat,wall" />
    <!-- 合并sql,相同的sql合并统计。下文是实现方式之一,还可使用 proxyFilters 等 -->
    <property name="connectionProperties" value="druid.stat.mergeSql=true" /> 
</bean>

<!-- spring 监控配置 -->
<bean id="druid-stat-interceptor"  
	       class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor">  
</bean>
<aop:config>  
	  <aop:pointcut id="druid-stat-pointcut" expression="(execution(public * tf.eteller.service.*.*(..))) " />  
	  <aop:advisor advice-ref="druid-stat-interceptor"  
	           pointcut-ref="druid-stat-pointcut" />  
</aop:config> 
三、web.xml配置(仅为了监控)

1、拦截器配置

<filter>  
    <filter-name>DruidWebStatFilter</filter-name>  
    <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
    <!-- 排除一些不需要监控的url -->  
    <init-param>   
        <param-name>exclusions</param-name>  
        <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>  
    </init-param>  
    <!-- sessionStatMaxCount:缺省1000 --> 
    <init-param>  
            <param-name>sessionStatMaxCount</param-name>  
            <param-value>1000</param-value>  
        </init-param>     
    <!-- 配置profileEnable能够监控单个url调用的sql列表 -->  
    <init-param>  
        <param-name>profileEnable</param-name>  
        <param-value>true</param-value>  
    </init-param>  
    <!-- 让监控知道当前登录的用户 --> 
    <init-param>  
        <param-name>principalSessionName</param-name>  
        <param-value>session_user_key</param-value>  
    </init-param> 
    <!-- 关闭session统计功能   
    <init-param>   
        <param-name>sessionStatEnable</param-name>   
        <param-value>true</param-value>  
    </init-param> -->  
</filter> 
<filter-mapping> 
    <filter-name>DruidWebStatFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping>

2、监控servlet配置

<servlet>  
    <servlet-name>DruidStatView</servlet-name>  
    <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> 
    <!-- 指定允许,或拒绝访问监控页面的IP --> 
    <!--deny:拒绝,allow:允许。deny优先于allow,allow没有配置或者为空,则允许所有人访问--> 
    <init-param>  
        <param-name>allow</param-name>  
        <param-value>2.2.2.2/24,3.3.3.3</param-value>  
    </init-param>  
    <init-param>  
        <param-name>deny</param-name>  
        <param-value>1.1.1.1</param-value>  
    </init-param> 
    <!-- 监控页面登陆的用户名和密码,不设置即可直接登陆 --> 
    <init-param>  
        <param-name>loginUsername</param-name>  
        <param-value>druid</param-value>  
    </init-param>  
    <init-param>  
        <param-name>loginPassword</param-name>  
        <param-value>123</param-value>  
    </init-param>  
</servlet>  
<servlet-mapping>  
    <servlet-name>DruidStatView</servlet-name>  
    <url-pattern>/druid/*</url-pattern>  
</servlet-mapping>
四、验证

监控地址:  http://IP:端口/域名称/druid/index.html

转载于:https://my.oschina.net/fjr/blog/743292

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值