- 浏览: 188080 次
- 性别:
- 来自: 上海
文章分类
最新评论
Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。
jboss7.1默认的连接方式是 jndi ,对于集群支持不是太好,导致集群内的服务器数据库连接数恨不均衡
Druid是一个JDBC组件,它包括三部分:
DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
DruidDataSource 高效可管理的数据库连接池。
SQLParser
Druid可以做什么?
1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。
如下是一个基于Druid内置扩展StatFilter的监控实现。
jboss 默认连接方式与durid 区别等等,获取连接超时等。
spring配置
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="connectionProperties" value="config.decrypt=true" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="${db.initialSize}" />
<!-- 连接池最大使用连接数量 -->
<property name="maxActive" value="${db.maxActive}" />
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="20" />
<!-- 连接池最小空闲 -->
<property name="minIdle" value="20" />
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="60000" />
<!-- 用来检测连接是否有效的sql,要求是一个查询语句 -->
<property name="validationQuery" value="SELECT 1 FROM DUAL" />
<!-- 申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
<property name="testOnBorrow" value="false" />
<!-- 归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
<property name="testOnReturn" value="false" />
<!-- 申请连接的时候检测 -->
<property name="testWhileIdle" value="true" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="25200000" />
<!-- 超过时间限制是否回收 -->
<property name="removeAbandoned" value="true" />
<!-- 超过时间限制多长回收 1800秒,也就是30分钟 -->
<property name="removeAbandonedTimeout" value="1800" />
<!-- 关闭abanded连接时输出错误日志 -->
<property name="logAbandoned" value="true" />
<!-- 监控数据库 -->
<!-- <property name="filters" value="stat" /> -->
<property name="filters" value="mergeStat,config" />
</bean>
url 集群配置
#------------生产环境 start------------------#
#db.driver=oracle.jdbc.driver.OracleDriver
#db.url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ***.***.**.**ip)(PORT = 1536))(ADDRESS = (PROTOCOL = TCP)(HOST = ***.***.**.**ip)(PORT = 1536))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = posb)(FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))))
#db.username=***
#db.password= 密码可以用jar包加密
#db.initialSize=20
#db.maxActive=50
#------------生产环境 end------------------#
jboss7.1默认的连接方式是 jndi ,对于集群支持不是太好,导致集群内的服务器数据库连接数恨不均衡
Druid是一个JDBC组件,它包括三部分:
DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
DruidDataSource 高效可管理的数据库连接池。
SQLParser
Druid可以做什么?
1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。
如下是一个基于Druid内置扩展StatFilter的监控实现。
jboss 默认连接方式与durid 区别等等,获取连接超时等。
spring配置
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="connectionProperties" value="config.decrypt=true" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="${db.initialSize}" />
<!-- 连接池最大使用连接数量 -->
<property name="maxActive" value="${db.maxActive}" />
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="20" />
<!-- 连接池最小空闲 -->
<property name="minIdle" value="20" />
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="60000" />
<!-- 用来检测连接是否有效的sql,要求是一个查询语句 -->
<property name="validationQuery" value="SELECT 1 FROM DUAL" />
<!-- 申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
<property name="testOnBorrow" value="false" />
<!-- 归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
<property name="testOnReturn" value="false" />
<!-- 申请连接的时候检测 -->
<property name="testWhileIdle" value="true" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="25200000" />
<!-- 超过时间限制是否回收 -->
<property name="removeAbandoned" value="true" />
<!-- 超过时间限制多长回收 1800秒,也就是30分钟 -->
<property name="removeAbandonedTimeout" value="1800" />
<!-- 关闭abanded连接时输出错误日志 -->
<property name="logAbandoned" value="true" />
<!-- 监控数据库 -->
<!-- <property name="filters" value="stat" /> -->
<property name="filters" value="mergeStat,config" />
</bean>
url 集群配置
#------------生产环境 start------------------#
#db.driver=oracle.jdbc.driver.OracleDriver
#db.url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ***.***.**.**ip)(PORT = 1536))(ADDRESS = (PROTOCOL = TCP)(HOST = ***.***.**.**ip)(PORT = 1536))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = posb)(FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))))
#db.username=***
#db.password= 密码可以用jar包加密
#db.initialSize=20
#db.maxActive=50
#------------生产环境 end------------------#
发表评论
-
redis 客户端 jedis
2016-11-09 15:36 488 -
高效序列化工具kryo
2016-11-09 15:29 534 -
Jetty项目简介
2016-11-07 11:28 444jetty是一个开源、基于标准、全功能实现的Java服务器。它 ... -
Quartz 表达式
2016-08-26 15:13 381Quartz中时间表达式的设 ... -
org.apache.commons.dbutils
2016-08-26 11:20 338 -
org.quartz
2016-08-26 10:16 513 -
jedis
2016-08-24 18:08 454 -
待查看
2016-08-02 09:41 4011tair 2 tddl 3hsf 4 分库分表 pmd ... -
Notify、MetaQ、Kafka、ActiveMQ
2016-07-03 12:15 7891 Notify Notify是淘宝自主研发的一套消息服务引 ... -
Reactor、Disruptor
2016-04-27 12:55 1073Reactor 主要用于帮助开发者创建基于JVM的异步应用程序 ... -
redis学习(java调用方式)
2016-04-07 17:56 486【redis数据结构 – 简介 ... -
SonarQube代码质量管理平台安装与使用
2016-03-21 16:13 489代码质量管理工具 http://blog.csdn.net/h ... -
cat监控
2016-03-16 15:22 467 -
dubbo 与zookeeper
2016-01-15 09:53 826详见 http://dubbo.io/ http:/ ... -
[Google Guava]
2015-11-25 14:32 6302.3-强大的集合工具类: ... -
跨数据库事务研究
2015-05-12 11:16 867两种方案: 1、分布式 ... -
httpClient 研究
2015-04-19 19:35 480虽然JDK 的 java.net 包中 ... -
dom4j 及其比较
2015-04-19 18:46 6461:DOM DOM 是用与平台和语言无关的方式表示 X ... -
Log4j 深入研究
2015-04-19 17:03 653一、介绍 Log4j是Apache的一个开放源代码项目,通过 ... -
quartz 深入
2015-04-19 16:07 689Quartz 是 OpenSymphony 开源组织在任务调度 ...
相关推荐
配置Durid数据库连接池,通常在Spring Boot的application.properties或application.yml文件中进行: ```properties # application.properties 示例 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource...
druid下载 数据库连接池 内置三个jar包和一个配置文件 druid.properties druid-1.0.9.jar druid-1.0.9-javadoc.jar druid-1.0.9-sources.jar
3. **Durid数据库连接池**: Durid是阿里巴巴开源的高性能、功能强大的数据库连接池实现。它提供了监控、日志、可插拔数据源等功能。Durid通过优化算法和线程池管理,提高了数据库连接的复用性,减少了数据库连接...
### 德鲁伊(Druid)数据库连接池简介 德鲁伊(Druid)是一款由阿里巴巴出品的开源高性能Java数据库连接池组件。它不仅具备传统数据库连接池的基本功能,如连接建立、释放、管理等,还提供了强大的监控统计功能以及...
Java-JDBC【源码】数据库连接池技术、常规操作与Durid对比、测试(20-200)不同连接数下,10万记录,1万并发,CPU磁盘占用情况 1.数据库连接池 2.Durid介绍(官方文档) 3.编码,问题,常规并发操作 3.1.JDBCUtil....
Durid,全称为Dynamic Data ...总之,Durid连接池结合了优秀的性能、监控和动态数据源路由能力,是Java开发中一个值得信赖的数据库连接池解决方案。正确配置和使用Durid,可以显著提升你的应用程序的数据库操作性能。
Tomcat 连接池是一种基于 Java 的数据库连接池实现,提供了高效、可靠的数据库连接管理。阿里 Druid 连接池是阿里巴巴开发的开源连接池,提供了高性能、可靠的数据库连接管理。下面我们将对 Tomcat 连接池和阿里 ...
durid连接池通过配置properties文件来获取数据库连接以及密码用户等。配置工具类方便调用,代码复用性提高。
在Java开发中,数据库连接管理是一项关键任务,它关乎到应用程序的性能和资源利用效率。Druid是一个功能强大且性能优异的数据源连接池,而PostgreSQL则是一种流行的开源关系型数据库管理系统。本教程将详细介绍如何...
德鲁伊(Druid)是阿里巴巴开源的一款高效、强大的数据库连接池组件,版本1.1.0提供了稳定且性能优异的服务。它不仅是一个连接池,还包含了一个SQL解析器、监控统计功能,以及一系列的扩展点,使得Druid能够更好地...
Spring Boot以其简洁的配置和快速的开发体验深受开发者喜爱,而MyBatis作为轻量级的持久层框架,Druid作为优秀的数据库连接池,以及Spring MVC中的MessageConverter机制,都是构建现代Web应用的重要组件。...
综上所述,这个项目利用了ZK作为前端框架,SpringMVC处理后端业务逻辑,Maven负责项目构建与依赖管理,log4j2与SLF4J进行日志记录,而Durid则作为高效的数据库连接池。整个系统设计考虑了开发效率、日志记录、数据库...
DRUID是阿里巴巴开源的一款数据库连接池组件,它集合了C3P0、DBCP、PROXOOL等其他数据库连接池的优点,并在此基础上增加了日志监控功能,使得用户能够更好地监控数据库连接池的状态以及SQL语句的执行情况。...
连接池修复MySQL主备切换时连接池无法恢复的问题。在阿里云RDS主备切换时,出现连接池没有及时恢复,问题和handleFatalError机制相关,已修复并通过验证。 连接池Connection支持更多JDK 1.7的JDBC新增方法 连接池...
阿里Druid连接池是阿里巴巴开源的一款高性能的数据库连接池组件,它在Java应用程序中扮演着重要的角色,特别是在大型分布式系统中,对数据库连接的管理、监控和优化具有显著的效果。Druid提供了强大的监控和扩展功能...
JDBC&Web;技术,实现增删改查,用户注册,登录验证等基本功能;使用mysql数据库,durid数据库连接池技术,结合web技术实现增删改查基本功能,使用servlet实现注册页面功能,验证码功能,使用filter实现登录验证功能。
由于该报错是在应用更换了数据库连接池后出现的,那么肯定与数据库连接池 Durid 有很大关系,而 Durid 并未与 MySQL 直接连接,它与 MySQL 之间还有 Haproxy、Keepalived、MyCAT 等中间件代理软件,每个代理都有相关...
Spring-Boot通过druid连接池获取连接操作SQLServer数据库 总结:【共3步】 第1步:添加druid和MSSQL Driver的依赖项; 第2步:配置连接字符串; 第3步:创建数据库操作类,使用@Bean注入DruidDataSource, 然后根据...
Druid连接池是阿里巴巴开源的一款高性能、多功能的数据库连接池组件,它在用户登录系统中扮演着重要的角色。本文将深入探讨Druid连接池的工作原理、优势以及如何在用户登录系统中使用它,同时还会列出一些必备的jar...
Druid连接池,全称是Druid Data Source,是由阿里巴巴开源的一个高效、强大的数据库连接池组件。在Java开发中,数据库连接池是管理数据库连接的重要工具,它可以提高数据库访问的效率,减少系统资源的浪费,是现代...