java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > druid监控无法关闭的坑

druid监控无法关闭的坑以及处理方式

作者:小肥宅Lee

这篇文章主要介绍了druid监控无法关闭的坑以及处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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

最后的解决方案

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文