Druid连接池及监控在Spring配置如下:
2015-10-08 12:27
555 查看
尊重原文:http://blog.csdn.net/chenleixing/article/details/45165753
Druid连接池及监控在Spring配置如下:
只要配置initialSize,maxActive就可以,目前这样的配置已经能够使用连接池,加入其实配置性能不好,官方文档里也不没加其它属性,连接池jar包免费下载。
然后是监控的配置:
filter可以监控webURl 访问:
该配置可以访问监控界面,配置好后,访问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
按类型拦截配置
方法名正则匹配拦截配置
有些情况下,可能你需要配置proxy-target-class,例如:
按照BeanId来拦截配置
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>
相关文章推荐
- struts 2的OGNL表达式
- 黑马程序员——java基础日记——多线程(2)——线程间通信与JDK1.5新特性
- Eclipse中修改SVN用户名和密码方法(转)
- Java____赋值顺序,调用顺序,内部类衍生问题:赋值和构造器、代码块谁先执行?+4种代码块
- 开发项目准备举例
- 学生选课系统-管理员功能模块设计(Java+NetBeans+SQLServer2008)
- Eclipse创建WEB工程Maven+Spring+SpringMVC+MyBatis示例
- MyEclipse的激活、破解
- Java获取字符串编码方式
- Java快捷键与搜狗输入法快键的冲突
- Java如何保留两位小数
- Java性能小技巧
- HDOJ 1850 Being a Good Boy in Spring Festival(尼姆博奕,位运算小技巧)
- 高吞吐低延迟Java应用的垃圾回收优化
- adt-bundle svn插件安装
- SpringMvc-参数为数组
- SpringMvc-路径为变量,获取这个变量
- Java集合类
- eclipse添加jar反编译插件
- java学习之路,方法重写