From cd33e36957691d760b828c2464f4122d4825fcd7 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Sun, 24 Jan 2021 11:42:38 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90datasource=E3=80=91druid=20monitor?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E6=8F=90=E5=87=BA=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GunsDataSourceAutoConfiguration.java | 48 -------------- .../GunsDruidMonitorAutoConfiguration.java | 63 +++++++++++++++++++ .../main/resources/META-INF/spring.factories | 3 +- 3 files changed, 65 insertions(+), 49 deletions(-) create mode 100644 kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsDruidMonitorAutoConfiguration.java diff --git a/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsDataSourceAutoConfiguration.java b/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsDataSourceAutoConfiguration.java index 292822a3b..21e1c42ca 100644 --- a/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsDataSourceAutoConfiguration.java +++ b/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsDataSourceAutoConfiguration.java @@ -1,17 +1,11 @@ package cn.stylefeng.roses.kernel.db.starter; -import cn.hutool.core.util.StrUtil; -import cn.stylefeng.roses.kernel.db.api.expander.DruidConfigExpander; import cn.stylefeng.roses.kernel.db.api.factory.DruidDatasourceFactory; import cn.stylefeng.roses.kernel.db.api.pojo.druid.DruidProperties; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.support.http.StatViewServlet; -import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -43,46 +37,4 @@ public class GunsDataSourceAutoConfiguration { return DruidDatasourceFactory.createDruidDataSource(druidProperties); } - /** - * Druid监控界面的配置 - * - * @author fengshuonan - * @date 2021/1/10 11:29 - */ - @Bean - public ServletRegistrationBean statViewServletRegistrationBean() { - ServletRegistrationBean registrationBean = new ServletRegistrationBean<>(); - registrationBean.setServlet(new StatViewServlet()); - registrationBean.addUrlMappings(DruidConfigExpander.getDruidUrlMappings()); - registrationBean.addInitParameter("loginUsername", DruidConfigExpander.getDruidAdminAccount()); - registrationBean.addInitParameter("loginPassword", DruidConfigExpander.getDruidAdminPassword()); - registrationBean.addInitParameter("resetEnable", DruidConfigExpander.getDruidAdminResetFlag()); - return registrationBean; - } - - /** - * 用于配置Druid监控url统计 - * - * @author fengshuonan - * @date 2021/1/10 11:45 - */ - @Bean - public FilterRegistrationBean webStatFilterRegistrationBean() { - FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); - WebStatFilter filter = new WebStatFilter(); - registrationBean.setFilter(filter); - registrationBean.addUrlPatterns(DruidConfigExpander.getDruidAdminWebStatFilterUrlPattern()); - registrationBean.addInitParameter("exclusions", DruidConfigExpander.getDruidAdminWebStatFilterExclusions()); - registrationBean.addInitParameter("sessionStatEnable", DruidConfigExpander.getDruidAdminWebStatFilterSessionStatEnable()); - registrationBean.addInitParameter("sessionStatMaxCount", DruidConfigExpander.getDruidAdminWebStatFilterSessionStatMaxCount()); - if (StrUtil.isNotBlank(DruidConfigExpander.getDruidAdminWebStatFilterSessionName())) { - registrationBean.addInitParameter("principalSessionName", DruidConfigExpander.getDruidAdminWebStatFilterSessionName()); - } - if (StrUtil.isNotBlank(DruidConfigExpander.getDruidAdminWebStatFilterPrincipalCookieName())) { - registrationBean.addInitParameter("principalCookieName", DruidConfigExpander.getDruidAdminWebStatFilterPrincipalCookieName()); - } - registrationBean.addInitParameter("profileEnable", DruidConfigExpander.getDruidAdminWebStatFilterProfileEnable()); - return registrationBean; - } - } diff --git a/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsDruidMonitorAutoConfiguration.java b/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsDruidMonitorAutoConfiguration.java new file mode 100644 index 000000000..e00fe63ba --- /dev/null +++ b/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsDruidMonitorAutoConfiguration.java @@ -0,0 +1,63 @@ +package cn.stylefeng.roses.kernel.db.starter; + +import cn.hutool.core.util.StrUtil; +import cn.stylefeng.roses.kernel.db.api.expander.DruidConfigExpander; +import com.alibaba.druid.support.http.StatViewServlet; +import com.alibaba.druid.support.http.WebStatFilter; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.boot.web.servlet.ServletRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * druid监控的自动配置类 + * + * @author fengshuonan + * @date 2021/1/24 11:27 + */ +@Configuration +public class GunsDruidMonitorAutoConfiguration { + + /** + * Druid监控界面的配置 + * + * @author fengshuonan + * @date 2021/1/10 11:29 + */ + @Bean + public ServletRegistrationBean statViewServletRegistrationBean() { + ServletRegistrationBean registrationBean = new ServletRegistrationBean<>(); + registrationBean.setServlet(new StatViewServlet()); + registrationBean.addUrlMappings(DruidConfigExpander.getDruidUrlMappings()); + registrationBean.addInitParameter("loginUsername", DruidConfigExpander.getDruidAdminAccount()); + registrationBean.addInitParameter("loginPassword", DruidConfigExpander.getDruidAdminPassword()); + registrationBean.addInitParameter("resetEnable", DruidConfigExpander.getDruidAdminResetFlag()); + return registrationBean; + } + + /** + * 用于配置Druid监控url统计 + * + * @author fengshuonan + * @date 2021/1/10 11:45 + */ + @Bean + public FilterRegistrationBean webStatFilterRegistrationBean() { + FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); + WebStatFilter filter = new WebStatFilter(); + registrationBean.setFilter(filter); + registrationBean.addUrlPatterns(DruidConfigExpander.getDruidAdminWebStatFilterUrlPattern()); + registrationBean.addInitParameter("exclusions", DruidConfigExpander.getDruidAdminWebStatFilterExclusions()); + registrationBean.addInitParameter("sessionStatEnable", DruidConfigExpander.getDruidAdminWebStatFilterSessionStatEnable()); + registrationBean.addInitParameter("sessionStatMaxCount", DruidConfigExpander.getDruidAdminWebStatFilterSessionStatMaxCount()); + if (StrUtil.isNotBlank(DruidConfigExpander.getDruidAdminWebStatFilterSessionName())) { + registrationBean.addInitParameter("principalSessionName", DruidConfigExpander.getDruidAdminWebStatFilterSessionName()); + } + if (StrUtil.isNotBlank(DruidConfigExpander.getDruidAdminWebStatFilterPrincipalCookieName())) { + registrationBean.addInitParameter("principalCookieName", DruidConfigExpander.getDruidAdminWebStatFilterPrincipalCookieName()); + } + registrationBean.addInitParameter("profileEnable", DruidConfigExpander.getDruidAdminWebStatFilterProfileEnable()); + return registrationBean; + } + +} diff --git a/kernel-d-db/db-spring-boot-starter/src/main/resources/META-INF/spring.factories b/kernel-d-db/db-spring-boot-starter/src/main/resources/META-INF/spring.factories index b252d308b..dae51740f 100644 --- a/kernel-d-db/db-spring-boot-starter/src/main/resources/META-INF/spring.factories +++ b/kernel-d-db/db-spring-boot-starter/src/main/resources/META-INF/spring.factories @@ -2,4 +2,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ cn.stylefeng.roses.kernel.db.starter.GunsDataSourceAutoConfiguration,\ cn.stylefeng.roses.kernel.db.starter.GunsDruidPropertiesAutoConfiguration,\ cn.stylefeng.roses.kernel.db.starter.GunsMyBatisPlusAutoConfiguration,\ - cn.stylefeng.roses.kernel.db.starter.GunsDbInitListenerAutoConfiguration + cn.stylefeng.roses.kernel.db.starter.GunsDbInitListenerAutoConfiguration,\ + cn.stylefeng.roses.kernel.db.starter.GunsDruidMonitorAutoConfiguration