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

最近,在使用阿里巴巴的 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

druid监控无法关闭(坑),及处理方式_第1张图片
druid监控无法关闭(坑),及处理方式_第2张图片

最后的解决方案

  • 直接不把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

你可能感兴趣的:(问题解决,数据库,java,后端,spring,boot)