SpringBoot Druid配置过程图解_java

来源:脚本之家  责任编辑:小易  

Druid连接池及监控在Spring配置如下:[html] view plaincopy<

Druid是阿里开源的一个JDBC应用组件, 其包括三部分: DruidDriver: 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource: 高效可管理的数据库连接池。 SQLParser: 实用的SQL语法分析

two Englishmen who are very rich. There is a sound

通过Druid连接池中间件, 我们可以实现: 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。 替换传统的DBCP和C3P0连接池中间件。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。 数据库密码加密。直接把数据库密码写在配置文件中,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。 SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。 扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。

1.1 % Processor Time指处理器用来执行非闲置线程时间的百分比。通过此计数器可以确定

配置代码如下

现在常用的开源数据库连接池主要有c3p0、dbcp、proxool三种,其中:Spring

spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://${url}:${port}/${数据库名}?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true&useAffectedRows=true username: ${username} password: ${password} druid: initial-size: 10 # 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 min-idle: 10 # 最小连接池数量 maxActive: 200 # 最大连接池数量 maxWait: 60000 # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置 timeBetweenEvictionRunsMillis: 60000 # 关闭空闲连接的检测时间间隔.Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。 minEvictableIdleTimeMillis: 300000 # 连接的最小生存时间.连接保持空闲而不被驱逐的最小时间 validationQuery: SELECT 1 FROM DUAL # 验证数据库服务可用性的sql.用来检测连接是否有效的sql 因数据库方言而差, 例如 oracle 应该写成 SELECT 1 FROM DUAL testWhileIdle: true # 申请连接时检测空闲时间,根据空闲时间再检测连接是否有效.建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRun testOnBorrow: false # 申请连接时直接检测连接是否有效.申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 testOnReturn: false # 归还连接时检测连接是否有效.归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 poolPreparedStatements: true # 开启PSCache maxPoolPreparedStatementPerConnectionSize: 20 #设置PSCache值 connectionErrorRetryAttempts: 3 # 连接出错后再尝试连接三次 breakAfterAcquireFailure: true # 数据库服务宕机自动重连机制 timeBetweenConnectErrorMillis: 300000 # 连接出错后重试时间间隔 asyncInit: true # 异步初始化策略 remove-abandoned: true # 是否自动回收超时连接 remove-abandoned-timeout: 1800 # 超时时间(以秒数为单位) transaction-query-timeout: 6000 # 事务超时时间 filters: stat,wall,log4j2 connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 web-stat-filter: enabled: true url-pattern: "/*" exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*" stat-view-servlet: url-pattern: "/druid/*" allow: deny: reset-enable: false login-username: admin login-password: admin

1. 说明1.1该案例为了展示连接greenplum的jar包和集成方式仅供参考,没有详细说明,

druid监控数据的外部化调用

分享我经历和同离婚女人恋爱的休验。第一个,重庆人,经朋友介绍认识,相处2个月,要我出钱开酒楼,我掏28万开了,叫她管(当时我在外资企业上班,工资几万,未辞工,我店离我上班地15公里),前3个月她还认真管,后来就悄悄在外租房子,每天11点半准时出去打麻将,不管店子,我在店里,生意很好,我不再,她讲没生意,我请的厨师都看不下去了,对我讲,老板你有这么一个老婆,不管你挣多少,你都会亏,叫我关店!后转让了净亏16万!第二个,地点无锡,她苏北东台,在做生意时认识,我每天接送她女儿(4岁)上学,然才去跑业务,早出晚归,在江苏、上海、安徽、浙江先后发展98家经销商,每月收入已近10万,一年半后的8月,我到广

@RestController public class DruidStatController { @GetMapping("/stat") public Object druidStat() { // DruidStatManagerFacade#getDataSourceStatDataList 该方法可以获取所有数据源的监控数据 return DruidStatManagerFacade.getInstance().getDataSourceStatDataList(); } }

一、顾名思义,碎银子就是从银子上敲下来的一小块。就是把整块银锭剪碎了用。有很多人会直接将整银子掐碎,或者在整块银子上掐掉这个小角。这里就会出现一个问题:剪下来的银子会不会不够价格。这就需要一把秤,一般人家都有称的。付款时,当面称银子,不会坑人的。有些人差不多凭经验手感就能说出你的碎银子是几斤几两。可以说十分厉害!二、是市场上本来就有碎银子,是酒楼和银行等地方专门将大块金元宝弄成定额的一小块,用来找零或者兑换给别人碎银子,就像现在过年大家都要到银行兑换零钱奉红包。但是市面上流通的碎银子成色并不完全一致,所以商家还要换算成色之后来计算。最好的银子称纹银,因为表面有皱纹的缘故。差的银子叫“低银”。从

图例

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

springboot整合druid为什么在application.yml中配置,像initialSize之类的属性都不识别,没有了。

依赖的版本问题,版本更新到1.1.10就能识别了

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid-spring-boot-starter</artifactId>

<version>1.1.10</version>

</dependency>

SpringBoot+Druid整合Druid监控页面的数据源功能没有信息

这个是正常情况,sping boot 启动的时候没有连接数据,所以这里就是这样。红色div块一直存在,代码里写死的。没办法。还有druid现在有spring-boot-starter了,不用这样配置了

springboot 中druid怎么连接多个数据库

spring动态配置多数据源,即在大型应用中对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效提高系统的水平伸缩性。

而这样的方案就会不同于常见的单一数据实例的方案,这就要程序在运行时根据当时的请求及系统状态来动态的决定将数据存储在哪个数据库实例中,以及从哪个数据库提取数据。

用户名,密码对spring boot druid 为什么连不上db2数据库

ConfigFilter的作用包括:

从配置文件中读取配置

从远程http文件中读取配置

为数据库密码提供加密功能

1 配置ConfigFilter

1.1 配置文件从本地文件系统中读取

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"

init-method="init" destroy-method="close">

<property name="filters" value="config" />

<property name="connectionProperties" value="config.file=file:///home/admin/druid-pool.properties" />

</bean>

1.2 配置文件从远程http服务器中读取

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"

init-method="init" destroy-method="close">

<property name="filters" value="config" />

<property name="connectionProperties" value="config.file=http://127.0.0.1/druid-pool.properties" />

</bean>

这种配置方式,使得一个应用集群中,多个实例可以从同一个地方读取配置,集中配置,集中修改,部署更简单。

1.3 通过jvm启动参数来使用ConfigFilter

DruidDataSource支持jvm启动参数配置filters,所以你可以:

java -Ddruid.filters=config ....

2 数据库密码加密

数据库密码直接写在配置中,对运维安全来说,是一个很大的挑战。Druid为此提供一种数据库密码加密的手段ConfigFilter。

2.1 执行命令加密数据库密码

在命令行中执行如下命令:

java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools you_password

输出

privateKey:MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEA6+4avFnQKP+O7bu5YnxWoOZjv3no4aFV558HTPDoXs6EGD0HP7RzzhGPOKmpLQ1BbA5viSht+aDdaxXp6SvtMQIDAQABAkAeQt4fBo4SlCTrDUcMANLDtIlax/I87oqsONOg5M2JS0jNSbZuAXDv7/YEGEtMKuIESBZh7pvVG8FV531/fyOZAiEA+POkE+QwVbUfGyeugR6IGvnt4yeOwkC3bUoATScsN98CIQDynBXC8YngDNwZ62QPX+ONpqCel6g8NO9VKC+ETaS87wIhAKRouxZL38PqfqV/WlZ5ZGd0YS9gA360IK8zbOmHEkO/AiEAsES3iuvzQNYXFL3x9Tm2GzT1fkSx9wx+12BbJcVD7AECIQCD3Tv9S+AgRhQoNcuaSDNluVrL/B/wOmJRLqaOVJLQGg==

publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOvuGrxZ0Cj/ju27uWJ8VqDmY7956OGhVeefB0zw6F7OhBg9Bz+0c84RjzipqS0NQWwOb4kobfmg3WsV6ekr7TECAwEAAQ==

password:PNak4Yui0+2Ft6JSoKBsgNPl+A033rdLhFw+L0np1o+HDRrCo9VkCuiiXviEMYwUgpHZUFxb2FpE0YmSguuRww==

输入你的数据库密码,输出的是加密后的结果。

2.2 配置数据源,提示Druid数据源需要对数据库密码进行解密。

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"

init-method="init" destroy-method="close">

<property name="url" value="jdbc:derby:memory:spring-test;create=true" />

<property name="username" value="sa" />

<property name="password" value="${password}" />

<property name="filters" value="config" />

<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${publickey}" />

</bean>

2.3 配置参数,让ConfigFilter解密密码

有三种方式配置:

1) 可以在配置文件my.properties中指定config.decrypt=true

2) 也可以在DruidDataSource的ConnectionProperties中指定config.decrypt=true

3) 也可以在jvm启动参数中指定-Ddruid.config.decrypt=true

  • 本文相关:
  • springboot 配置druid数据源的方法实例分析
  • 通过springboot+mybatis+druid配置动态数据源
  • springboot配置druid连接池的方法示例
  • spring boot配置druid连接池的完整步骤
  • springboot使用druid数据源的配置方法
  • springboot开发案例之配置druid数据库连接池的示例
  • 详解spring boot下druid连接池的使用配置分析
  • java制作带界面的聊天工具
  • java框架篇:spring+springmvc+hibernate整合开发
  • java基础之filter的实例详解
  • java map遍历的四种方法总结
  • 通过代码实例了解springboot启动原理
  • java8中接口的新特性测试
  • 基于java实现停车场管理系统
  • spring cloud stream分区分组原理图解
  • 解析java中如何获取spring中配置的bean
  • linux系统java环境配置教程
  • springboot整合druid为什么在application.yml中配置,像initialSi...
  • SpringBoot+Druid整合Druid监控页面的数据源功能没有信息
  • springboot 中druid怎么连接多个数据库
  • 用户名,密码对spring boot druid 为什么连不上db2数据库
  • springboot配置两个数据源怎么实现
  • druid连接池 SPRING怎样实现配置数据源
  • springboot druid 怎么查看慢sql
  • spring boot 整合druid sql监控没有
  • 请教如何不依赖配置文件纯Java调用Druid连接池
  • 怎么用java的springboot项目操作GreenPlum?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页javaspringboot 配置druid数据源的方法实例分析通过springboot+mybatis+druid配置动态数据源springboot配置druid连接池的方法示例spring boot配置druid连接池的完整步骤springboot使用druid数据源的配置方法springboot开发案例之配置druid数据库连接池的示例详解spring boot下druid连接池的使用配置分析java制作带界面的聊天工具java框架篇:spring+springmvc+hibernate整合开发java基础之filter的实例详解java map遍历的四种方法总结通过代码实例了解springboot启动原理java8中接口的新特性测试基于java实现停车场管理系统spring cloud stream分区分组原理图解解析java中如何获取spring中配置的beanlinux系统java环境配置教程java使double保留两位小数的多方java8 十大新特性详解java.net.socketexception: connjava写入文件的几种方法分享java环境变量的设置方法(图文教程java 十六进制与字符串的转换java list用法示例详解java中file类的使用方法javaweb实现文件上传下载功能实例java 字符串截取的三种方法(推荐java中拼接字符串的5种方法效率对比java中从键盘输入多个整数的方法java使用建造者模式实现办理手机套餐功能spring中的事务操作、注解及xml配置详解详解jdk中executorservice与callable和fu深入了解mybatis二级缓存java基于分治法实现的快速排序算法示例简单实现java抽奖系统spring cloud feign 深度学习与应用详解支持生产阻塞的java线程池
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved