SpringBoot 集成 Druid 监控数据源
Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析 器组成。该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查、SQL翻译等,程序员可以通过定制来实现自己需要的功能。
Druid 可以做什么
- 替换其他java连接池,Druid提供了一个高效、功能强大、可扩展性好的数据库连接池;
- 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有很大的帮助;
- SQL执行日志,Druid 提供了不用的LogFilter,能够支持Common-logging、Log4j、和jdkLog,可以按需要选择相应的LogFilter,监控应用的数据库访问情况;
- 扩展JDBC,如果你要对JDBC层有编程需求,可以通过Druid提供的Filter机制,很方便编写JDBC层的扩展插件。
引入依赖
<!-- 阿里数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
修改配置文件
spring:
application:
name: company-frme1
# #数据库Druid配置
datasource:
druid:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://139.196.102.74:3306/study_demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
username: root
password: 123456
#初始化连接池连接数
initial-size: 5
#连接池中最大的活跃连接数
max-active: 20
#连接池中最小的活跃连接数
min-idle: 5
#配置获取连接等待超时时间
max-wait: 60000
#打开pscache,并且指定每个连接上pscache的大小
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
validation-query: SELECT 1 FROM DUAL
validation-query-timeout: 30000
#是否在获得连接后检测其可用性
test-on-borrow: false
#是否在连接池返回连接池后检测其可用性
test-on-return: false
#是否在连接空闲一段时间后检测其可用性
test-while-idle: true
#配置建个多久进行一次检测,检测需要关闭的空闲连接。单位是毫秒
time-between-eviction-runs-millis: 60000
#配置一个连接池中最小生存的时间,单位是毫秒
min-evictable-idle-time-millis: 300000
# 监控后台账号和密码
stat-view-servlet:
# 1.1.0以上版本需开启
enabled: true
login-username: admin
login-password: 123456
开始访问
http://localhost:8081/druid