druid控制台无法监控sql问题

springboot+mybatisplus+druid按照教程配置好之后,druid控制台监控sql页面无数据,filter类名为空,貌似没有注册进去去,代码如下:

@Configuration
public class DruidConfiguration {


@Bean
public ServletRegistrationBean druidServlet() {
ServletRegistrationBean<Servlet> bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");
Map<String,String> map = new HashMap<>();
map.put("loginUsername","admin");
map.put("loginPassword","123456");
map.put("deny","192.168.47.156");
bean.setInitParameters(map);
return bean;

}

@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<>();
bean.setFilter(new WebStatFilter());
Map<String,String> map = new HashMap<>();
map.put("exclusions","*.js,*.css,/druid/*");
//拦截所有请求
bean.setUrlPatterns(Arrays.asList("/*"));
bean.setInitParameters(map);
return bean;

}


@Bean
public WallFilter wallFilter(){
WallFilter wallFilter = new WallFilter();
wallFilter.setConfig(wallConfig());
return wallFilter;
}

@Bean
public WallConfig wallConfig(){
WallConfig wallConfig = new WallConfig();
wallConfig.setMultiStatementAllow(true);
//允许一次执行多条语句
wallConfig.setNoneBaseStatementAllow(true);
//是否允许非以上基本语句的其他语句
wallConfig.setStrictSyntaxCheck(false);
//是否进行严格的语法检测
return wallConfig;
}

@Bean(name="dataSource")
public DataSource dataSource(){
return new DruidDataSource();
}

// 配置事物管理器
@Bean(name="transactionManager")
public DataSourceTransactionManager transactionManager(){
return new DataSourceTransactionManager(dataSource());
}

}
这段只有一个wallfilter能在控制台显示,statfilter无效

解决办法:
在jvm启动参数中加上:
-Ddruid.filters=mergeStat -Ddruid.useGlobalDataSourceStat=true,
我的是这个情况.


原文地址:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

猜你喜欢

转载自www.cnblogs.com/lideqiang0909/p/11588729.html