You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.2 KiB
66 lines
2.2 KiB
|
6 years ago
|
package net.mingsoft.config;
|
||
|
|
|
||
|
|
import com.alibaba.druid.support.http.WebStatFilter;
|
||
|
|
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
|
||
|
|
import org.springframework.aop.Advisor;
|
||
|
|
import org.springframework.aop.support.DefaultPointcutAdvisor;
|
||
|
|
import org.springframework.aop.support.JdkRegexpMethodPointcut;
|
||
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||
|
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||
|
|
import org.springframework.context.annotation.Bean;
|
||
|
|
import org.springframework.context.annotation.Configuration;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @author by 铭飞开源团队
|
||
|
|
* @Description TODO
|
||
|
|
* @date 2020/1/10 11:21
|
||
|
|
*/
|
||
|
|
@Configuration
|
||
|
|
@ConditionalOnProperty(prefix="spring",name = "datasource.druid.stat-view-servlet.enabled", havingValue = "true")
|
||
|
|
public class DruidConfig {
|
||
|
|
/**
|
||
|
|
* druid监控 配置URI拦截策略
|
||
|
|
*/
|
||
|
|
@Bean
|
||
|
|
public FilterRegistrationBean druidStatFilter() {
|
||
|
|
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
|
||
|
|
// 添加过滤规则.
|
||
|
|
filterRegistrationBean.addUrlPatterns("/*");
|
||
|
|
// 添加不需要忽略的格式信息.
|
||
|
|
filterRegistrationBean.addInitParameter("exclusions",
|
||
|
|
"/static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid,/druid/*");
|
||
|
|
// 用于session监控页面的用户名显示 需要登录后主动将username注入到session里
|
||
|
|
filterRegistrationBean.addInitParameter("principalSessionName", "username");
|
||
|
|
return filterRegistrationBean;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* druid数据库连接池监控
|
||
|
|
*/
|
||
|
|
@Bean
|
||
|
|
public DruidStatInterceptor druidStatInterceptor() {
|
||
|
|
return new DruidStatInterceptor();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Bean
|
||
|
|
public JdkRegexpMethodPointcut druidStatPointcut() {
|
||
|
|
JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
|
||
|
|
String patterns = "net.mingsoft.*.biz.*";
|
||
|
|
// 可以set多个
|
||
|
|
druidStatPointcut.setPatterns(patterns);
|
||
|
|
return druidStatPointcut;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* druid 为druidStatPointcut添加拦截
|
||
|
|
*
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
@Bean
|
||
|
|
public Advisor druidStatAdvisor() {
|
||
|
|
return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor());
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
}
|