javalite 使用druid数据库连接池配置
- 在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&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数据库连接池配置的更多相关文章
- Druid数据库连接池配置
DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB ...
- 阿里druid数据库连接池配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- spring boot +druid数据库连接池配置
1.启动应用入口修改 增加servlet注解 import javax.sql.DataSource; import org.apache.ibatis.session.SqlSessionFacto ...
- Druid数据库连接池及内置监控的配置和使用
Druid介绍 Druid首先是一个数据库连接池,并且是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBoss Da ...
- springboot2配置druid数据库连接池
注意配置以下的依赖: <!-- 引入druid数据源--> <dependency> <groupId>com.alibaba</groupId> &l ...
- spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)
一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...
- SpringBoot 配置Druid数据库连接池
创建数据库连接池配置类 package com.boot.config; import com.alibaba.druid.pool.DruidDataSource; import com.aliba ...
- druid连接池配置
本人使用的是springMVC框架,以下是我的配置: step1,配置数据源(applicationContext-resource.xml中): <bean id="cc_ds&qu ...
- Spring Boot [使用 Druid 数据库连接池]
导读 最近一段时间比较忙,以至于很久没有更新Spring Boot系列文章,恰好最近用到Druid, 就将Spring Boot 使用 Druid作为数据源做一个简单的介绍. Druid介绍: Dru ...
随机推荐
- ios9.3.3 h5的js代码全部失效
做微信公众号页面时,ios9.3.3 h5的js代码全部失效描述: 机型iphone6 plus,ios9.3.3js代码全部失效,刚开始还以为是ios和jq兼容问题, 后来发现是es6语法不能读,导 ...
- P1075 语句解析
题目描述 一串长度不超过 255 的 PASCAL 语言代码,只有 a,b,c 3 个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变量,每条赋值语句的格式是 [变量]:=[变量或一位整数]; ...
- P1009 字符三角形
题目描述 输入一个字符c,按照阳历输出的格式输出由该字符组成的一个字符三角形. 输入格式 输入包含一个字符c. 输出格式 输出由该字符c组成的字符三角形. 样例输入 A 样例输出 A AAA AAAA ...
- 基于ubuntu16的mqtt服务器(apache-apollo1.7.1)
感谢博客:https://www.cnblogs.com/chenrunlin/p/5109028.html 需要环境: java1.8 把文件通过finalshell扔到/usr/local目录下 ...
- C# 匹配可空变量
在 C# 7.0 的时候提供更好用的模式匹配方法,支持通过 is 直接转换对应的类,但是如果是尝试转换可空的对象,那么将会提示无法编译,或转换失败 在 C# 7.0 的 is 转换是十分好用的功能,例 ...
- anaconda在本地安装软件conda install
安装完anaconda后,想在mac下安装pytorch,但是在用官网提供的安装方法一直安装不上pytorch和torchvision,估计是被墙了 conda install pytorch tor ...
- CS224n: Natural Language Processing学习准备
cs224n 斯坦福网址,里面包含讲课视频,ppt,代码,学习完后做一个问答系统 http://web.stanford.edu/class/cs224n/index.html 下载anaconda, ...
- (转)hibernate缓存机制详细分析
在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别).二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题. 随笔虽长,但我相 ...
- 修改jupyter notebook响应的浏览器
Windows下更改jupyter notebook默认响应的浏览器为Chrome 1.命令行下输入:jupyter notebook --generate-config 2.C盘中找到并打开文件:C ...
- 泛型 List转换成DataTable
private DataTable listToDataTable<T>(List<T> ListItem) { //实列化DataTable对象 var dt = new D ...