JBolt开发平台数据库连接池是Druid。
最近需要配置上Druid自带的监控。
这是DruidPlugin的相关配置代码://配置数据库连接池插件
DruidPlugin dbPlugin=new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password"));
// 配置防火墙加强数据库安全
WallFilter wallFilter = new WallFilter();
wallFilter.setDbType(JdbcConstants.MYSQL);
dbPlugin.addFilter(wallFilter);
//配置监控
StatFilter statFilter=new StatFilter();
statFilter.setMergeSql(true);
statFilter.setLogSlowSql(true);
statFilter.setSlowSqlMillis(1500);
// 添加 StatFilter 才会有统计数据
dbPlugin.addFilter(statFilter);
me.add(dbPlugin);
在全局Handler配置里,增加对Druid监控的配置与权限判断,因为这个监控界面不是谁都能看的,后台需要分配权限给用户。DruidStatViewHandler dvh = new DruidStatViewHandler("/admin/druid/monitor",//设置访问路径
new IDruidStatViewAuth(){
public boolean isPermitted(HttpServletRequest request) {
//从session中拿到用户信息,如果使用ThreadLocal,就从ThreadLocal里拿
HttpSession hs = request.getSession(false);
if(hs==null) {
return false;
}
//拿到用户userId
Object userId=hs.getAttribute(SessionKey.ADMIN_USER_ID);
if(userId==null||userId.toString().equals("0")) {
return false;
}
//通过权限判断工具类判断此用户是否有PermissionKey.DRUID_MONITOR这个权限
return UserAuthKit.hasPermission(Integer.parseInt(userId.toString()), true, PermissionKey.DRUID_MONITOR);
}
});
me.add(dvh);
如果没有分配权限就这样了
推荐:
JBolt开发平台全部教程:
JBolt插件安装和使用
JFinal-JBolt开发平台从入门到精通-系列教程
JBolt开发平台入门(13)-自动化组件 autocomplete
JBolt开发平台入门(14)-四种主从表管理操作方式
JBolt开发平台入门(15)- 上下结构主从表管理简单实现