• 在pom文件中引入jar包
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
  • 在web.xml中引入Durid的过滤器 DruidWebStatFilter
  <filter>
      <filter-name>DruidWebStatFilter</filter-name>
      <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
      <init-param>
          <param-name>exclusions</param-name>
          <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
      </init-param>
      <init-param>
          <param-name>profileEnable</param-name>
          <param-value>true</param-value>
      </init-param>
      <init-param>
          <param-name>principalCookieName</param-name>
          <param-value>USER_COOKIE</param-value>
      </init-param>
      <init-param>
          <param-name>principalSessionName</param-name>
          <param-value>USER_SESSION</param-value>
      </init-param>
 </filter>
 <filter-mapping>
      <filter-name>DruidWebStatFilter</filter-name>
      <url-pattern>/*</url-pattern>
 </filter-mapping>

注意这个过滤器要放在 org.javalite.activeweb.RequestDispatcher 的前面,因为activeWeb 中请求的入口是就是这个过滤器,如果请求先被RequestDispatcher 捕获了的话就直接返回相应的静态页面或者请求结果了。这样的话,就不能捕获到API了。

然后还要在web.xml中添加druid的Servlet 用于展现监控的静态页面,注意的是这里需要设置用户名密码以及客户端的ip,一般设置为只能本机访问,更多详细的配置参考
StatViewServlet配置

  • app.config.DbConfig 类中配置数据源

因为项目中没有引入spring来实现bean的自动管理,所以我们这里需要自己把 com.alibaba.druid.pool.DruidDataSource new 出来,相应的属性配置也是用java代码来实现,如下:

    public void init(AppContext context) {
        String password = context.get("config_password", String.class);
        System.setProperty("druid.wall.logViolation", "true");      //对被认为是攻击的SQL进行LOG.error输出,设置为true表示输入日志
        System.setProperty("druid.wall.throwException", "false");   //对被认为是攻击的SQL抛出SQLException 设置为false表示不抛出异常
        Properties properties = new Properties();
        try {
            properties.load(DbConfig.class.getClassLoader().getResourceAsStream("druidConfig.properties"));
        } catch (IOException e) {
            logger.error("读取druid配置失败");
        }
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setPassword(password);                           // 这里的密码使用的是config.txt中的密码
        dataSource.configFromPropety(properties);
        dataSource.setConnectionProperties("druid.stat.mergeSql=true");            // 相似的sql语句自动融合

        environment("development").dataSource(dataSource);
        environment("development").testing().dataSource(dataSource);
        environment("production").dataSource(dataSource);

        Base.open(dataSource);
        List<Map<String, Object>> res = Base.findAllF(
                "SELECT `CODE`,VALSTR FROM rc_config WHERE `CODE`='INDEX_TITLE' OR `CODE`='INDEX_TAG' OR `CODE`='INDEX_TITLE_SIZE' OR `CODE`='LOGO'");
        for (int i = 0; i < res.size(); i++) {
            context.set(res.get(i).get("CODE").toString(), res.get(i).get("VALSTR"));
        }
        Base.close();
    }

在代码中读取 druidConfig.properties 配置文件,并把配置文件中的值设置到 DruidDataSource 当中,这个文件的内容如下

druid.url = jdbc:mysql://192.168.2.113:3306/jhbims?useSSL=false&useUnicode=true&characterEncoding=UTF-8&amp;autoReconnect=true
druid.username = jhbims
druid.password = jhbims
druid.driverClassName = com.mysql.jdbc.Driver

druid.initialSize = 5
druid.minIdle = 3
druid.maxActive = 100
drud.maxWait = 1000
druid.testOnBorrow = true
druid.filters = stat,wall

这个文件的更多配置见 DruidDataSource配置属性列表

本文由博客一文多发平台 OpenWrite 发布!

javalite 使用druid数据库连接池配置的更多相关文章

  1. Druid数据库连接池配置

    DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB ...

  2. 阿里druid数据库连接池配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. spring boot +druid数据库连接池配置

    1.启动应用入口修改 增加servlet注解 import javax.sql.DataSource; import org.apache.ibatis.session.SqlSessionFacto ...

  4. Druid数据库连接池及内置监控的配置和使用

    Druid介绍 Druid首先是一个数据库连接池,并且是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBoss Da ...

  5. springboot2配置druid数据库连接池

    注意配置以下的依赖: <!-- 引入druid数据源--> <dependency> <groupId>com.alibaba</groupId> &l ...

  6. spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)

    一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...

  7. SpringBoot 配置Druid数据库连接池

    创建数据库连接池配置类 package com.boot.config; import com.alibaba.druid.pool.DruidDataSource; import com.aliba ...

  8. druid连接池配置

    本人使用的是springMVC框架,以下是我的配置: step1,配置数据源(applicationContext-resource.xml中): <bean id="cc_ds&qu ...

  9. Spring Boot [使用 Druid 数据库连接池]

    导读 最近一段时间比较忙,以至于很久没有更新Spring Boot系列文章,恰好最近用到Druid, 就将Spring Boot 使用 Druid作为数据源做一个简单的介绍. Druid介绍: Dru ...

随机推荐

  1. 四叶草(css)

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <style> . ...

  2. React 编写项目连环套路

    搭建一个项目 公共部分放一块:index.js style.js store.js reducer.js actionCreateors.js actionTypes.js 分页        一块一 ...

  3. Java语言中的正则表达式

    正则表达式是什么? 正则表达式是一种强大而灵活的文本处理工具.初学正则表达式时,其语法是一个难点,但它确实是一种简洁.动态的语言.正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题: ...

  4. P1029 栈的基础操作

    题目描述 现在给你一个栈,它一开始是空的,你需要模拟栈的操作.栈的操作包括如下: "push x":将元素 x 放入栈中,其中x是一个int范围内的整数: "pop&qu ...

  5. Dbvisualizer各种中文乱码问题解决方法

    1.SQL Commander里中文显示成‘口’ 解:进入Tools -> Tool Properties -> General -> Appearence -> Fonts, ...

  6. 原 Linux:ping不通baidu.com

    如果某台Linux服务器ping不通域名, 如下提示:  [root@localhost ~]# ping www.baidu.com ping: unknown host www.baidu.com ...

  7. Python的驻留机制(仅对数字,字母,下划线有效)

    Python的驻留机制及为在同一运行空间内,当两变量的值相同,则地址也相同. 举例: a = 'abc' b = 'abc' print(id(a)) print(id(b)) 以上示例为驻留机制有效 ...

  8. dotnet core 发布只带必要的依赖文件

    在使用 dotnet core 发布独立项目的时候,会带上大量依赖的库,但是通过微软提供的工具可以去掉一些在代码没有用到的库. 本文介绍的工具是 Microsoft.Packaging.Tools.T ...

  9. Delta Lake源码分析

    目录 Delta Lake源码分析 Delta Lake元数据 snapshot生成 日志提交 冲突检测(并发控制) delete update merge Delta Lake源码分析 Delta ...

  10. centos6.5单用户模式拯救系统

    系统出现启动异常,某个软件卡住了不能启动(按Fx键可以查看是哪个软件卡住了),需要进入单用户模式或修复模式对系统进行管理. 使用单用户模式有一个前提,只要系统引导器(grub)能正常工作,否则要进行系 ...