- druid 是阿里提供的数据库连接池,性能方面差于springboot默认的HikariCP ,但是在监控方面是HikariCP无法相比的,所以数据库连接池方面推荐的是druid。
- 如何使用druid的监控尼?
- 首先在yml配置文件添加配置:
spring: datasource: # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 # 通过connectProperties属性来打开mergeSql功能;慢SQL记录 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 filters: stat,wall
- 添加拦截器:
@WebFilter(filterName="druidWebStatFilter",urlPatterns="/*", initParams={ @WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")//忽略资源 } ) public class DruidStatFilter extends WebStatFilter { }
- 添加servlet。
@WebServlet(urlPatterns="/druid/*", initParams={ @WebInitParam(name="allow",value=""),// IP白名单(没有配置或者为空,则允许所有访问) @WebInitParam(name="deny",value=""),// IP黑名单 (存在共同时,deny优先于allow) @WebInitParam(name="loginUsername",value="admin"),// 用户名 @WebInitParam(name="loginPassword",value="123456"),// 密码 @WebInitParam(name="resetEnable",value="false")// 禁用HTML页面上的“Reset All”功能 } ) public class DruidStatViewServlet extends StatViewServlet { private static final long serialVersionUID = 1L; }
- 启动项目访问:http://127.0.0.1:8080/scfinplatform/druid/index.html. scfinplatform是你项目访问的根路径。
- 访问效果
注意:(*) property for user to setup
如果数据源页面出现这个错误,则原因是项目启动后没有一次链接数据库的操作,导致连接池没有链接数据库,发起一次访问再次刷新页面即可。