jfinal druid mysql_【技术】JFinal中使用Druid的监控

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);

585d0abe41c1810f428f46b9bb3450e6.png

如果没有分配权限就这样了

21a8119468a416eaca1204915164a5d5.png

推荐:

JBolt开发平台全部教程:

JBolt插件安装和使用

JFinal-JBolt开发平台从入门到精通-系列教程

JBolt开发平台入门(13)-自动化组件 autocomplete

JBolt开发平台入门(14)-四种主从表管理操作方式

JBolt开发平台入门(15)- 上下结构主从表管理简单实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值