druid监控无法关闭(坑),及处理方式

最近,在使用阿里巴巴的 druid 1.1.0版本上线后发现默认开启了监控,而且还是可以公开访问,有泄露项目信息的风险,网上试了几个关闭的方法...

最近,在使用阿里巴巴的 druid 1.1.0版本上线后发现默认开启了监控,而且还是可以公开访问,有泄露项目信息的风险,网上试了几个关闭的方法都没起作用,这个东西巨坑:

1、在配置文件试过了各种各样的方式均无法关闭druid,配置如下:

1、

spring:

datasource:

druid:

web-stat-filter:

enabled: false

stat-view-servlet:

enabled: false

2、

spring:

datasource:

druid:

web-stat-filter:

enabled: false

stat-view-servlet:

enabled: false

filter:

config:

enabled: false

3、

spring:

datasource:

druid:

WebStatFilter:

enabled: false

StatViewServlet:

enabled: false

以上方法试过均无效,然后再源码中看到了一些东西

com.alibaba.druid.spring.boot.autoconfigure.DruidWebStatFilterConfiguration

最后的解决方案

直接不把drud注入到bean里面

@Configuration

public class DruidConfiguration {

/* @Bean

public ServletRegistrationBean startViewServlet(){

}*/

}

2、将druid替换成 hikari 连接池,SpringBoot 默认使用的连接池就是 hikari。

步骤:

1、将原有的druid的删除掉,使用以下的配置

spring:

datasource:

type: com.zaxxer.hikari.HikariDataSource

driver-class-name: com.mysql.jdbc.Driver

url: jdbc:mysql://127.0.0.1:3306/a?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false

password: root

username: root

hikari:

# 最小空闲连接数量

minimum-idle: 10

# 连接池最大连接数,默认是10

maximum-pool-size: 20

# 空闲连接存活最大时间,默认600000(10分钟)

idle-timeout: 5000000

# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟

max-lifetime: 540000

# 数据库连接超时时间,默认30秒,即30000

connection-timeout: 60000

connection-test-query: SELECT 1

#此属性控制从池返回的连接的默认自动提交行为,默认值:true

auto-commit: true

更为详细的配置信息可以查看:https://github.com/brettwooldridge/HikariCP

关注我: