Skip to content

Commit 8549dba

Browse files
committed
Merge branch 'master' of https://github.com/silence940109/Java
2 parents e7e1730 + edf8ac6 commit 8549dba

File tree

3 files changed

+89
-0
lines changed

3 files changed

+89
-0
lines changed

Alibaba_Druid/1.png

44.7 KB
Loading

Alibaba_Druid/2.png

55.9 KB
Loading

Alibaba_Druid/README.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
###Alibaba Druid数据源监控
2+
3+
[阿里巴巴Druid](https://github.com/Alibaba/Druid)数据库连接池上写着这一句话,"为监控而生的数据库连接池",确实,Druid在数据库连接池监控上做得非常完善。
4+
5+
你可以克隆下来然后安装到你的额本地仓库中
6+
7+
* git clone https://github.com/alibaba/druid.git
8+
9+
* cd druid && mvn install
10+
11+
关于Druid的中文文档,你可以在[这里](https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)查看到。
12+
13+
下面主要完成项目中如何集成集成Druid
14+
15+
如果你使用的Maven,你需要加入Druid的依赖
16+
17+
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
18+
<dependency>
19+
<groupId>com.alibaba</groupId>
20+
<artifactId>druid</artifactId>
21+
<version>1.0.26</version>
22+
</dependency>
23+
24+
如果你使用的是Gradle,你需要在denpendencies中加入
25+
26+
compile 'com.alibaba:druid:1.0.26'
27+
28+
然后再spring的配置文件中配置数据源
29+
30+
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
31+
<property name="driverClassName" value="${driver}" />
32+
<property name="url" value="${url}" />
33+
<property name="username" value="${user}" />
34+
<property name="password" value="${password}" />
35+
<!-- 初始化连接大小 -->
36+
<property name="initialSize" value="${initialSize}"></property>
37+
<!-- 连接池最大数量 -->
38+
<property name="maxActive" value="${maxActive}"></property>
39+
<!-- 连接池最小空闲 -->
40+
<property name="minIdle" value="${minIdle}"></property>
41+
<!-- 获取连接最大等待时间 -->
42+
<property name="maxWait" value="${maxWait}"></property>
43+
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
44+
<property name="timeBetweenEvictionRunsMillis" value="60000" />
45+
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
46+
<property name="minEvictableIdleTimeMillis" value="300000" />
47+
<property name="validationQuery" value="SELECT 'x'" />
48+
<property name="testWhileIdle" value="true" />
49+
<property name="testOnBorrow" value="false" />
50+
<property name="testOnReturn" value="false" />
51+
<!-- 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。分库分表较多的数据库,建议配置为false。 -->
52+
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
53+
<property name="poolPreparedStatements" value="true" />
54+
<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
55+
<!-- 配置监控统计拦截的filters -->
56+
<property name="filters" value="stat" />
57+
</bean>
58+
59+
db.properties配置文件
60+
61+
driver=com.mysql.jdbc.Driver
62+
url=jdbc:mysql://localhost:3306/ssm
63+
user=root
64+
password=root
65+
initialSize=5
66+
maxActive=20
67+
minIdle=1
68+
maxWait=60000
69+
70+
最后,我们还需要在web.xml加入
71+
72+
<servlet>
73+
<servlet-name>DruidStatView</servlet-name>
74+
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
75+
</servlet>
76+
<servlet-mapping>
77+
<servlet-name>DruidStatView</servlet-name>
78+
<url-pattern>/druid/*</url-pattern>
79+
</servlet-mapping>
80+
81+
启动服务器,访问`http://localhost:8080/ProjectName/druid
82+
83+
可以看到
84+
85+
![](https://github.com/silence940109/Java/blob/master/Alibaba_Druid/1.png)
86+
87+
![](https://github.com/silence940109/Java/blob/master/Alibaba_Druid/2.png)
88+
89+
具体项目看[我的项目](https://github.com/silence940109/SSM)

0 commit comments

Comments
 (0)