介绍
Druid为监控而生的数据库连接池,主要功能对比:
Druid | BoneCP | DBCP | C3P0 | Proxool | JBoss | Tomcat-Jdbc | |
---|---|---|---|---|---|---|---|
LUR | √ | √ | √ | √ | ? | ||
PSCache | √ | √ | √ | √ | √ | ||
PSCache-Oracle-Optimized | √ | ||||||
ExceptionSorter | √ | √ | |||||
更新维护 | √ | ? | √ |
pom文件引入:
1 | <dependency> |
Druid配置:
1 |
|
监控:
配置servlet
1
2
3
4"/druid/*" }, initParams = { (name = "loginUsername", value = "dodd"), (name = "loginPassword", value = "dodd") }) (urlPatterns = {
public class DruidStatViewServlet extends StatViewServlet {
private static final long serialVersionUID = 1L;
}filter
1
2
3
4"druidWebStatFilter", urlPatterns = "/*", initParams = { (name = "exclusions", value = "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*") }) (filterName =
public class DruidWebStatFilter extends WebStatFilter {
}
配置文件:
1 | # mysql |
测试:http://localhost:8080/druid/index.html
sql监控配置:
1 | #filter类名:stat,config,encoding,logging |
spring监控配置:
1 | "classpath:druid-bean.xml" }) (locations = { |
druid-bean.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop" 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/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- 配置_Druid和Spring关联监控配置 -->
<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.dodd.mapper.*</value>
</list>
</property>
</bean>
<aop:config proxy-target-class="true">
<aop:advisor advice-ref="druid-stat-interceptor"
pointcut-ref="druid-stat-pointcut" />
</aop:config>
</beans>