From dd1e71908c6682c70b9d361d3158309727be2beb Mon Sep 17 00:00:00 2001 From: zhouxiaoming Date: Fri, 4 Jan 2019 10:12:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=81=E7=94=A8druid-spring-boot-starter?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E7=9B=91=E6=8E=A7=E9=A1=B5=E9=9D=A2=E5=8F=8A?= =?UTF-8?q?=E7=9B=91=E6=8E=A7=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1filter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- druid-spring-boot-starter/README.md | 7 ++++--- druid-spring-boot-starter/README_EN.md | 7 ++++--- .../boot/autoconfigure/stat/DruidFilterConfiguration.java | 2 +- .../stat/DruidStatViewServletConfiguration.java | 6 +++++- .../stat/DruidWebStatFilterConfiguration.java | 2 +- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/druid-spring-boot-starter/README.md b/druid-spring-boot-starter/README.md index 8b5c4ef194..09d3659bae 100644 --- a/druid-spring-boot-starter/README.md +++ b/druid-spring-boot-starter/README.md @@ -61,7 +61,7 @@ spring.datasource.druid.filters= #配置多个英文逗号分隔 - 监控配置 ``` # WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter -spring.datasource.druid.web-stat-filter.enabled= #是否启用StatFilter默认值true +spring.datasource.druid.web-stat-filter.enabled= #是否启用StatFilter默认值false spring.datasource.druid.web-stat-filter.url-pattern= spring.datasource.druid.web-stat-filter.exclusions= spring.datasource.druid.web-stat-filter.session-stat-enable= @@ -71,7 +71,7 @@ spring.datasource.druid.web-stat-filter.principal-cookie-name= spring.datasource.druid.web-stat-filter.profile-enable= # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置 -spring.datasource.druid.stat-view-servlet.enabled= #是否启用StatViewServlet默认值true +spring.datasource.druid.stat-view-servlet.enabled= #是否启用StatViewServlet默认值false spring.datasource.druid.stat-view-servlet.url-pattern= spring.datasource.druid.stat-view-servlet.reset-enable= spring.datasource.druid.stat-view-servlet.login-username= @@ -154,7 +154,7 @@ spring.datasource.druid.filter.wall.config.drop-table-allow=false - Log4j2Filter - CommonsLogFilter -要想使自定义 Filter 配置生效需要将对应 Filter 的 ```enabled``` 设置为 ```true``` ,Druid Spring Boot Starter 默认会启用 StatFilter,你也可以将其 ```enabled``` 设置为 ```false``` 来禁用它。 +要想使自定义 Filter 配置生效需要将对应 Filter 的 ```enabled``` 设置为 ```true``` ,Druid Spring Boot Starter 默认禁用 StatFilter,你也可以将其 ```enabled``` 设置为 ```true``` 来启用它。 ## 如何获取 Druid 的监控数据 @@ -165,6 +165,7 @@ Druid 的监控数据可以通过 DruidStatManagerFacade 进行获取,获取 public class DruidStatController { @GetMapping("/druid/stat") public Object druidStat(){ + // 需要启用StatFilter // DruidStatManagerFacade#getDataSourceStatDataList 该方法可以获取所有数据源的监控数据,除此之外 DruidStatManagerFacade 还提供了一些其他方法,你可以按需选择使用。 return DruidStatManagerFacade.getInstance().getDataSourceStatDataList(); } diff --git a/druid-spring-boot-starter/README_EN.md b/druid-spring-boot-starter/README_EN.md index 0d3b333889..cb1661ca6a 100644 --- a/druid-spring-boot-starter/README_EN.md +++ b/druid-spring-boot-starter/README_EN.md @@ -58,7 +58,7 @@ spring.datasource.druid.filters= #Druid filters, default value stat, multiple se - Monitor ``` # WebStatFilter properties, detail see Druid Wiki -spring.datasource.druid.web-stat-filter.enabled= #Enable StatFilter, default value true. +spring.datasource.druid.web-stat-filter.enabled= #Enable StatFilter, default value false. spring.datasource.druid.web-stat-filter.url-pattern= spring.datasource.druid.web-stat-filter.exclusions= spring.datasource.druid.web-stat-filter.session-stat-enable= @@ -68,7 +68,7 @@ spring.datasource.druid.web-stat-filter.principal-cookie-name= spring.datasource.druid.web-stat-filter.profile-enable= # StatViewServlet properties, detail see Druid Wiki -spring.datasource.druid.stat-view-servlet.enabled= #Enable StatViewServlet, default value true. +spring.datasource.druid.stat-view-servlet.enabled= #Enable StatViewServlet, default value false. spring.datasource.druid.stat-view-servlet.url-pattern= spring.datasource.druid.stat-view-servlet.reset-enable= spring.datasource.druid.stat-view-servlet.login-username= @@ -148,7 +148,7 @@ Currently, configuration support is provided for the following filters. Please r - Log4j2Filter - CommonsLogFilter -Druid Spring Boot Starter will enable StatFilter by default, and you can also set its enabled to false.,make the Filter configuration take effect and need to set enabled to true. +Druid Spring Boot Starter will forbid StatFilter by default, and you can also set its enabled to true.,make the Filter configuration take effect and need to set enabled to true. ## How to get Druid monitoring(stat) data @@ -158,6 +158,7 @@ Druid's monitoring data can be obtained through DruidStatManagerFacade. After ob public class DruidStatController { @GetMapping("/druid/stat") public Object druidStat(){ + // Your need enable StatFilter // DruidStatManagerFacade#getDataSourceStatDataList 该方法可以获取所有数据源的监控数据,除此之外 DruidStatManagerFacade 还提供了一些其他方法,你可以按需选择使用。 return DruidStatManagerFacade.getInstance().getDataSourceStatDataList(); } diff --git a/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidFilterConfiguration.java b/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidFilterConfiguration.java index 548614d989..c604ee040e 100644 --- a/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidFilterConfiguration.java +++ b/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidFilterConfiguration.java @@ -33,7 +33,7 @@ public class DruidFilterConfiguration { @Bean @ConfigurationProperties(FILTER_STAT_PREFIX) - @ConditionalOnProperty(prefix = FILTER_STAT_PREFIX, name = "enabled", matchIfMissing = true) + @ConditionalOnProperty(prefix = FILTER_STAT_PREFIX, name = "enabled") @ConditionalOnMissingBean public StatFilter statFilter() { return new StatFilter(); diff --git a/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidStatViewServletConfiguration.java b/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidStatViewServletConfiguration.java index efe754be62..b33c689e9f 100644 --- a/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidStatViewServletConfiguration.java +++ b/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidStatViewServletConfiguration.java @@ -26,8 +26,10 @@ import org.springframework.context.annotation.Bean; * @author lihengming [89921218@qq.com] */ @ConditionalOnWebApplication -@ConditionalOnProperty(name = "spring.datasource.druid.stat-view-servlet.enabled", havingValue = "true", matchIfMissing = true) +@ConditionalOnProperty(name = "spring.datasource.druid.stat-view-servlet.enabled", havingValue = "true") public class DruidStatViewServletConfiguration { + private static final String DEFAULT_ALLOW_IP = "127.0.0.1"; + @Bean public ServletRegistrationBean statViewServletRegistrationBean(DruidStatProperties properties) { DruidStatProperties.StatViewServlet config = properties.getStatViewServlet(); @@ -36,6 +38,8 @@ public class DruidStatViewServletConfiguration { registrationBean.addUrlMappings(config.getUrlPattern() != null ? config.getUrlPattern() : "/druid/*"); if (config.getAllow() != null) { registrationBean.addInitParameter("allow", config.getAllow()); + } else { + registrationBean.addInitParameter("allow", DEFAULT_ALLOW_IP); } if (config.getDeny() != null) { registrationBean.addInitParameter("deny", config.getDeny()); diff --git a/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidWebStatFilterConfiguration.java b/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidWebStatFilterConfiguration.java index 9117ee83a8..d9c95ae0e7 100644 --- a/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidWebStatFilterConfiguration.java +++ b/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/stat/DruidWebStatFilterConfiguration.java @@ -26,7 +26,7 @@ import org.springframework.context.annotation.Bean; * @author lihengming [89921218@qq.com] */ @ConditionalOnWebApplication -@ConditionalOnProperty(name = "spring.datasource.druid.web-stat-filter.enabled", havingValue = "true", matchIfMissing = true) +@ConditionalOnProperty(name = "spring.datasource.druid.web-stat-filter.enabled", havingValue = "true") public class DruidWebStatFilterConfiguration { @Bean public FilterRegistrationBean webStatFilterRegistrationBean(DruidStatProperties properties) {