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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM