JFinal Druid 配置

摘要:
配置maxWait后,默认启用公平锁,并发效率将降低。如果需要,可以通过将useUnfairLock属性配置为true来使用非公平锁。druidMysql插件.setMaxWait;//如果连接空闲时间大于或等于minEvictableIdleTimeMillis,请关闭物理连接。druidMysqlPlugin.setTimeBetweenDeviceRunsMillis;//连接保持空闲而不被驱逐的最短时间druidMysqlPlugin.setMinEvictableIdleTimeMillis//建议将其配置为true,这不会影响性能并确保安全。druidMysql插件.setTestWhileIdle;//申请连接时,执行validationQuery以检查连接是否有效。此配置将降低性能。
/**
 * 数据库密码加密,执行如下命令,生成加密密码
 * java -cp druid-1.1.14.jar com.alibaba.druid.filter.config.ConfigTools 密码
 * 输出:
 * privateKey:MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEApEUdEC4QUd7ifzQ2wLdm+E2AN4Kdlze17nDVvwBeFeWmxJDFxOhjALZeG9up22tnEeki8W1jffacDtXoLenKBQIDAQABAk1Bxdnd7nIWTNyM0/4iuFj/eVBGyxdo5/7X/KxrIYeWaszSOLjezQ+AVxaRRdpAEUUuk1Ep+FEJFLl9YCdXTvpOlAiEA9H3aL4I+o3XkDYSblJE997FURhYJPjhrUwVkHc5JcysCIQCsAJUtCNb165jfgZRrHxZ1KXcI4EMIGVUsDn/VXrDfjwIgd9dop3j0MzOKQYYKrNw0v8DQSjpq9XC6SsuNs352SlkCIESBPuje2m671Pk/7NL1YMZtK2G3oDr7i/auF6/ttNh1AiBEH/eyxc3CAeYk9GF+y2Z6SNosw8DSIA0kQMbgSIBZxg==
 * publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKRFHRAuEFHe4n80NsC3ZvhNgDeCnZc3te5w1b8AXhXlpsSQxcTo1YwC2XhvbqdtrZxHpIvFtY332nA7V6C3pygUCAwEAAQ==
 * password:RV+gpoUP/tTDk9vytEKxfZfhPQenrG9aCJ5MNa1w1JR5d2Q9mJ5j4TyN9wQc1/7Y0/bsmZSl5BEX3vIxjMEDpxw==
 *
 * 配置如下
 */
String mysqlUrl = "jdbc:mysql://10.10.10.10:13306/test_db?useUnicode=true&useSSL=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull";
String mysqlUsername = "root";
String mysqlPassword = "RV+gpoUP/tTDk9vytEKxfZfhPQenrG9aCJ5MNaw1JR5d2Q9mJ15j4TyN9wQc1/7Y0/bsmZSl5BEX3vIxjMEDpxw==";
String mysqlPublicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKRFHRAuEFHe4n80NsC3ZvhNgDe1CnZc3te5w1b8AXhXlpsSQxcToYwC2XhvbqdtrZxHpIvFtY332nA7V6C3pygUCAwEAAQ==";
String mysqlDriver = "com.mysql.cj.jdbc.Driver";
String mysqlFilters = "config";
DruidPlugin druidMysqlPlugin = new DruidPlugin(mysqlUrl, mysqlUsername, mysqlPassword,mysqlDriver,mysqlFilters);
druidMysqlPlugin.setPublicKey(mysqlPublicKey);

//sql防注入
WallFilter wall = new WallFilter();
wall.setDbType("mysql");
druidMysqlPlugin.addFilter(wall);
//最大连接池数量,默认为8 druidMysqlPlugin.setMaxActive(20); //最小连接池数量 druidMysqlPlugin.setMinIdle(1); //初始化时建立物理连接的个数,默认为0 druidMysqlPlugin.setInitialSize(1); //获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。 druidMysqlPlugin.setMaxWait(60000); //如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。 druidMysqlPlugin.setTimeBetweenEvictionRunsMillis(60000); //连接保持空闲而不被驱逐的最小时间 druidMysqlPlugin.setMinEvictableIdleTimeMillis(300000); //建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 druidMysqlPlugin.setTestWhileIdle(true); //申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。默认为true druidMysqlPlugin.setTestOnBorrow(false); //归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。默认为true druidMysqlPlugin.setTestOnReturn(false); /* //配置removeAbandoned对性能会有一些影响,建议怀疑存在泄漏之后再打开 //当程序存在缺陷时,申请的连接忘记关闭,这时候就存在连接泄漏了。Druid提供了RemoveAbandanded相关配置,用来关闭长时间不使用的连接 druidMysqlPlugin.setRemoveAbandoned(true); //如果连接超过30分钟未关闭,就会被强行回收 druidMysqlPlugin.setRemoveAbandonedTimeoutMillis(1800); //关闭abanded连接时输出错误日志 druidMysqlPlugin.setLogAbandoned(true); */ druidMysqlPlugin.start();
ActiveRecordPlugin mysqlArp
= new ActiveRecordPlugin("mysql", druidMysqlPlugin); //配置MySQL方言 mysqlArp.setDialect(new MysqlDialect()); //是否显示执行的SQL //mysqlArp.setShowSql(true); mysqlArp.start();
DruidDataSource配置

https://github.com/alibaba/druid/wiki/DruidDataSource配置

DruidDataSource配置属性列表

https://github.com/alibaba/druid/wiki/DruidDataSource配置属性列表

免责声明:文章转载自《JFinal Druid 配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇系统基础信息模块psutil之系统进程管理方法篇数据库测试数据自动生成工具下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Druid连接池的简单使用

感谢原文作者:chenhongyong原文链接:https://www.cnblogs.com/chy18883701161/p/12594889.html更多请查阅阿里官方API文档:https://github.com/alibaba/druid/wiki 目录 Druid简介 druid的优点 Druid的使用 方式一:纯代码方式 方式二:配置...

springboot整合nacos动态获取druid配置

前言 是不是还有好多小伙伴不知道nacos是啥?其实,我也是从上一次nacos爆出漏洞,才知道还有nacos这个组件,而且目前这个组件应用很广泛,很多项目都用它来做配置中心和注册中心,今天我们分享的内容就是nacos作为配置中心使用的一个小demo。 在完成这个小demo之前,我查了好多示例和博客,但是都没有找到符合我需求的,所以走了好多弯路,才让这个de...

druid discard long time none received connection问题解析

最新项目中用的druid连接数据库遇到一个困扰很久的问题 1 开始用的druid版本是1.1.22版本,由于业务需求,单个连接需要执行很久,理论上不需要用到自动回收,但为了安全,还是加了自动回收,时间设置的2个小时。 随着程序运行,程序经常报The last packet successfully received from the server was...

记druid 在配置中心下的一个大坑: cpu 达到 100%

把我们的dubbo 应用移步到配置中心上去之后,发现我们的应用过一段时间就会出现cpu 100%的情况 (大概是12个小时),一开始cpu占用是2-5% 的样子,什么都没做,后面竟然用尽了cpu。。 把jvm 线程堆栈打印一下,发现线程数竟然达到了上万..... 发现最多是这样的一个线程: "com.alibaba.nacos.client.Worker....

Apache NiFi之MySQL数据同步到HBase

一.说明 将Apache NiFi做为关系型数据与非关系型数据库的数据同步工具使用,在此场景中需要将mysql导出的avro数据格式转化为json入库HBase 二.开拔 Ⅰ).配置ExecuteSQLRecord a).选择ExecuteSQLRecord 在Processor中搜索ExecuteSQLRecord b).配置ExecuteSQLR...

spring boot2.0.4集成druid,用jmeter并发测试工具调用接口,druid查看监控的结果

一、项目介绍(本项目用的编程语言是jdk8,项目源码: https://github.com/zhzhair/mybatis-druid-spring-boot.git)   1.引入pom依赖:   <dependencies>     <dependency>       <groupId>org.springfra...