use of com.alibaba.druid.support.http.WebStatFilter in project druid by alibaba.
the class DruidStatServiceTest method test_statService_getResetAll.
public void test_statService_getResetAll() throws Exception {
// data source mock
String sql = "select 1";
Connection conn = dataSource.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
rs.next();
rs.close();
stmt.close();
conn.close();
String resultSQL = DruidStatService.getInstance().service("/sql.json");
Map<String, Object> resultSQLMap = (Map<String, Object>) JSONUtils.parse(resultSQL);
List<Map<String, Object>> sqlList = (List<Map<String, Object>>) resultSQLMap.get("Content");
assertThat(sqlList.size(), equalTo(1));
Map<String, Object> sqlStat = sqlList.get(0);
assertThat((Integer) sqlStat.get("RunningCount"), equalTo(0));
// http request mock
String uri = "/";
MockServletContext servletContext = new MockServletContext();
MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
WebStatFilter filter = new WebStatFilter();
filter.init(filterConfig);
// first request test
MockHttpServletRequest request = new MockHttpServletRequest("GET", uri);
MockHttpSession session = new MockHttpSession();
request.setSession(session);
String sessionId = session.getId();
MockHttpServletResponse response = new MockHttpServletResponse();
MockFilterChain chain = new MockFilterChain();
filter.doFilter(request, response, chain);
String resultWebSession = DruidStatService.getInstance().service("/websession.json");
Map<String, Object> resultWebSessionMap = (Map<String, Object>) JSONUtils.parse(resultWebSession);
List<Map<String, Object>> contentWebSessionList = (List<Map<String, Object>>) resultWebSessionMap.get("Content");
assertThat(contentWebSessionList.size(), equalTo(1));
Map<String, Object> contentWebSessionMap = contentWebSessionList.get(0);
assertThat((String) contentWebSessionMap.get("SESSIONID"), equalTo(sessionId));
// spring mock
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:com/alibaba/druid/stat/spring-config-stat.xml");
UserService userService = (UserService) context.getBean("userService");
userService.save();
String resultSpring = DruidStatService.getInstance().service("/spring.json");
Map<String, Object> resultSpringMap = (Map<String, Object>) JSONUtils.parse(resultSpring);
List<Map<String, Object>> contentSpringList = (List<Map<String, Object>>) resultSpringMap.get("Content");
assertThat(contentSpringList.size(), equalTo(1));
Map<String, Object> contentMap = contentSpringList.get(0);
assertThat((String) contentMap.get("Class"), is(not(nullValue())));
assertThat((Integer) contentMap.get("ExecuteCount"), equalTo(1));
// reset all test
String result = DruidStatService.getInstance().service("/reset-all.json");
Map<String, Object> resultMap = (Map<String, Object>) JSONUtils.parse(result);
assertThat(resultMap.get("content"), is(nullValue()));
// assert sql
resultSQL = DruidStatService.getInstance().service("/sql.json");
resultSQLMap = (Map<String, Object>) JSONUtils.parse(resultSQL);
sqlList = (List<Map<String, Object>>) resultSQLMap.get("Content");
assertThat(sqlList, is(nullValue()));
// assert web session
resultWebSession = DruidStatService.getInstance().service("/websession.json");
resultWebSessionMap = (Map<String, Object>) JSONUtils.parse(resultWebSession);
contentWebSessionList = (List<Map<String, Object>>) resultWebSessionMap.get("Content");
assertThat(contentWebSessionList, is(nullValue()));
// assert spring
resultSpring = DruidStatService.getInstance().service("/spring.json");
resultSpringMap = (Map<String, Object>) JSONUtils.parse(resultSpring);
contentSpringList = (List<Map<String, Object>>) resultSpringMap.get("Content");
assertThat(contentSpringList, is(nullValue()));
}
use of com.alibaba.druid.support.http.WebStatFilter in project cloud-sea-towerman by huadahuang1983.
the class DataSourceConfig method filterRegistrationBean.
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(new WebStatFilter());
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
filterRegistrationBean.addInitParameter("profileEnable", "true");
filterRegistrationBean.addInitParameter("principalCookieName", "USER_COOKIE");
filterRegistrationBean.addInitParameter("principalSessionName", "USER_SESSION");
return filterRegistrationBean;
}
use of com.alibaba.druid.support.http.WebStatFilter in project CBEC-B2B by A-Cubic.
the class DataSourceConfig method druidFilter.
@Bean
public FilterRegistrationBean druidFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new WebStatFilter());
Map<String, String> intParams = new HashMap<>();
intParams.put("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
registration.setName("DruidWebStatFilter");
registration.setUrlPatterns(Lists.newArrayList("/*"));
registration.setInitParameters(intParams);
return registration;
}
use of com.alibaba.druid.support.http.WebStatFilter in project vip by guangdada.
the class WebConfig method druidStatFilter.
/**
* druid监控 配置URI拦截策略
* @return
*/
@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;
}
use of com.alibaba.druid.support.http.WebStatFilter in project moon by gentoo111.
the class DruidConfig method filterRegistrationBean.
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
Aggregations