package com.genersoft.iot.vmp.conf.druid; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import javax.servlet.Filter; import javax.servlet.Servlet; /** * druid监控配置 * @author */ public class DruidConfiguration { @Value("${rj-druid-manage.allow:127.0.0.1}") private String allow; @Value("${rj-druid-manage.deny:}") private String deny; @Value("${rj-druid-manage.loginUsername:admin}") private String loginUsername; @Value("${rj-druid-manage.loginPassword:admin}") private String loginPassword; @Value("${rj-druid-manage.resetEnable:false}") private String resetEnable; /** * druid监控页面开启 */ @Bean public ServletRegistrationBean druidServlet() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*"); // IP白名单 servletRegistrationBean.addInitParameter("allow", allow); // IP黑名单(共同存在时,deny优先于allow) servletRegistrationBean.addInitParameter("deny", deny); //控制台管理用户 servletRegistrationBean.addInitParameter("loginUsername", loginUsername); servletRegistrationBean.addInitParameter("loginPassword", loginPassword); //是否能够重置数据 禁用HTML页面上的“Reset All”功能 servletRegistrationBean.addInitParameter("resetEnable", resetEnable); return servletRegistrationBean; } /** * druid url监控配置 */ @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean<>(new WebStatFilter()); filterRegistrationBean.addUrlPatterns("/*"); filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); return filterRegistrationBean; } }