Druid连接池及监控在Spring配置如下:

来源:互联网 发布:网络爬虫 整个网站 编辑:程序博客网 时间:2024/05/02 06:33

尊重原文:http://blog.csdn.net/chenleixing/article/details/45165753
Druid连接池及监控在Spring配置如下:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">       <!-- 基本属性 url、user、password -->      <property name="url" value="${jdbc_url}" />      <property name="username" value="${jdbc_user}" />      <property name="password" value="${jdbc_password}" />      <!-- 配置初始化大小、最小、最大 -->      <property name="initialSize" value="1" />      <property name="minIdle" value="1" />       <property name="maxActive" value="20" />      <!-- 配置获取连接等待超时的时间 -->      <property name="maxWait" value="60000" />      <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->      <property name="timeBetweenEvictionRunsMillis" value="60000" />      <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->      <property name="minEvictableIdleTimeMillis" value="300000" />      <property name="validationQuery" value="SELECT 'x'" />      <property name="testWhileIdle" value="true" />      <property name="testOnBorrow" value="false" />      <property name="testOnReturn" value="false" />      <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->      <property name="poolPreparedStatements" value="true" />      <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />      <!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->      <property name="filters" value="stat" />   </bean>  

只要配置initialSize,maxActive就可以,目前这样的配置已经能够使用连接池,加入其实配置性能不好,官方文档里也不没加其它属性,连接池jar包免费下载。
然后是监控的配置:

<filter>          <filter-name>DruidWebStatFilter</filter-name>          <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>          <init-param>              <param-name>exclusions</param-name>              <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>          </init-param>        </filter>        <filter-mapping>          <filter-name>DruidWebStatFilter</filter-name>          <url-pattern>/*</url-pattern>        </filter-mapping>  

filter可以监控webURl 访问:

servlet>          <servlet-name>DruidStatView</servlet-name>          <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>      </servlet>      <servlet-mapping>          <servlet-name>DruidStatView</servlet-name>          <url-pattern>/druid/*</url-pattern>      </servlet-mapping>  

该配置可以访问监控界面,配置好后,访问http://ip地址:端口号/项目名/druid/index.html即可监控数据库访问性能。
Druid连接池-阿里巴巴开源JDBC组件

配置方法2:
配置spring

com.alibaba.druid.support.spring.stat.DruidStatInterceptor是一个标准的Spring MethodInterceptor。可以灵活进行AOP配置。
Spring AOP的配置文档: http://static.springsource.org/spring/docs/current/spring-framework-reference/html/aop-api.html

按类型拦截配置

<bean id="druid-stat-interceptor"    class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor">  </bean>  <bean id="druid-type-proxyCreator" class="com.alibaba.druid.support.spring.stat.BeanTypeAutoProxyCreator">    <!-- 所有ABCInterface的派生类被拦截监控  -->    <property name="targetBeanType" value="xxxx.ABCInterface" />    <property name="interceptorNames">        <list>            <value>druid-stat-interceptor</value>        </list>    </property>  </bean>

方法名正则匹配拦截配置

 <bean id="druid-stat-interceptor"    class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor">  </bean><bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut"    scope="prototype">    <property name="patterns">        <list>            <value>com.mycompany.service.*</value>            <value>com.mycompany.dao.*</value>        </list>    </property></bean><aop:config>    <aop:advisor advice-ref="druid-stat-interceptor"        pointcut-ref="druid-stat-pointcut" /></aop:config>

有些情况下,可能你需要配置proxy-target-class,例如:

<aop:config proxy-target-class="true">    <aop:advisor advice-ref="druid-stat-interceptor"        pointcut-ref="druid-stat-pointcut" /></aop:config>

按照BeanId来拦截配置

<bean id="druid-stat-interceptor"    class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor">  </bean><bean    class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">    <property name="proxyTargetClass" value="true" />    <property name="beanNames">        <list>            <!-- 这里配置需要拦截的bean id列表 -->            <value>xxx-dao</value>            <value>xxx-service</value>        </list>    </property>    <property name="interceptorNames">        <list>            <value>druid-stat-interceptor</value>        </list>    </property></bean>
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 排卵日同房没有怀孕怎么办 想怀孕想生儿子怎么办 到期大姨妈不来怎么办 怕怀孕月经不来怎么办 宫颈环扎后宫缩怎么办 来例假刺激外阴高潮了怎么办 客人消费完说没钱怎么办? 孕13周血糖偏高怎么办 餐后血糖高14点怎么办 餐后血糖20多怎么办 空腹血糖6.6饭后9.2怎么办 键盘shift键失效了怎么办 灵异附身夫妻不合怎么办 鞋子买大了半码怎么办 鞋子买小了半码怎么办 黑布鞋鞋面白了怎么办 黑布鞋不黑了怎么办 黑布鞋退白了怎么办 老北京布鞋款式太少怎么办 老人输液抽搐后昏迷怎么办 头七家里有狗怎么办 股票退市股民的钱怎么办 美国股票退市股民怎么办 百度云字幕和视频不同步怎么办 百度云加载字幕有延迟怎么办 很难适应新环境怎么办 蜘蛛丝碰到嘴唇上起包有毒怎么办? 电瓶车在路上爆胎了怎么办 嘴被虫子咬肿了怎么办 高铁管家购票失败怎么办 高铁车厢空调冷怎么办 高铁票过了时间怎么办 网购火车票丢了怎么办 改签没有票了怎么办 火车票取了没赶上车怎么办 上车后车票丢了怎么办 晒了吗任务过期怎么办 坐火车买了站票怎么办 坐火车忘记带票怎么办 距离二本线差几分怎么办 行李包落火车候车厅怎么办