druid配置_druid配置登录

druid配置_druid配置登录DruidDataSource配置兼容DBCP,但个别配置的语意有所区别。 配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。如果没有配置,将

druid配置

DruidDataSource配置兼容DBCP,但个别配置的语意有所区别。

配置 缺省值 说明
name 配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。如果没有配置,将会生成一个名字,格式是:”DataSource-” + System.identityHashCode(this). 另外配置此属性至少在1.0.5版本中是不起作用的,强行设置name会出错。详情-点此处
url 连接数据库的url,不同数据库不一样。例如: mysql : jdbc:mysql://10.20.153.104:3306/druid2 oracle : jdbc:oracle:thin:@10.20.149.85:1521:ocnauto
username 连接数据库的用户名
password 连接数据库的密码。如果你不希望密码直接写在配置文件中,可以使用ConfigFilter。详细看这里
driverClassName 根据url自动识别 这一项可配可不配,如果不配置druid会根据url自动识别dbType,然后选择相应的driverClassName
initialSize 0 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时

初始bean时配置init方法

maxActive 8 最大连接池数量
(连接池中最多支持多少个活动会话)
maxIdle 8 已经不再使用,配置了也没效果
minIdle 最小连接池数量
(回收空闲连接时,将保证至少有minIdle个连接.)
maxWait 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
(程序向连接池中请求连接时,超过maxWait的值后,认为本次请求失败,即连接池没有可用连接,单位毫秒,设置-1时表示无限等待)
poolPreparedStatements false 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
缓存通过以下两个方法发起的SQL:
public PreparedStatement prepareStatement(String sql)
public PreparedStatement prepareStatement(String sql,int resultSetType, int resultSetConcurrency)
maxPoolPreparedStatementPerConnectionSize -1 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
每个连接最多缓存多少个SQL
validationQuery 用来检测连接是否有效的sql,要求是一个查询语句,常用select “x”。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
检查池中的连接是否仍可用的 SQL 语句,druid会连接到数据库执行该SQL, 如果正常返回,则表示连接可用,否则表示连接不可用
validationQueryTimeout 单位:秒,检测连接是否有效的超时时间。底层调用jdbc Statement对象的void setQueryTimeout(int seconds)方法
testOnBorrow false 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
testOnReturn false 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
testWhileIdle true 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
keepAlive false (1.0.28) 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。
程序没有close连接且空闲时长超过 minEvictableIdleTimeMillis,则会执行validationQuery指定的SQL,以保证该程序连接不会池kill掉,其范围不超过minIdle指定的连接个数。
timeBetweenEvictionRunsMillis 1分钟(1.0.14) 有两个含义: 1) Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。 2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明
检查空闲连接的频率,单位毫秒, 非正整数时表示不进行检查
numTestsPerEvictionRun 30分钟(1.0.14) 不再使用,一个DruidDataSource只支持一个EvictionRun
minEvictableIdleTimeMillis 连接保持空闲而不被驱逐的最小时间,单位毫秒
池中某个连接的空闲时长达到 N 毫秒后, 连接池在下次检查空闲连接时,将回收该连接,要小于防火墙超时设置net.netfilter.nf_conntrack_tcp_timeout_established的设置
maxEvictableIdleTimeMillis
connectionInitSqls 物理连接初始化的时候执行的sql
exceptionSorter 根据dbType自动识别 当数据库抛出一些不可恢复的异常时,抛弃连接
filters 属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有: 监控统计用的filter:stat 日志用的filter:log4j或者 slf4j 防御sql注入的filter:wall
proxyFilters 类型是List<com.alibaba.druid.filter.Filter>,如果同时配置了filters和proxyFilters,是组合关系,并非替换关系
asyncInit 1.1.4中新增加的配置,如果有initialSize数量较多时,打开会加快应用启动时间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7394.html

(0)
上一篇 2023-03-20
下一篇 2023-03-21

相关推荐

  • MySQL函数学习(四)-

    MySQL函数学习(四)-注:笔记旨在记录 四、MySQL 聚合函数 | | 函 数 名 称 | 作 用 | 完 成 | |: :|: |: |: :| | 1 | MAX | 求最大值 | 勾 | | 2 | MIN |

    2023-05-25
    157
  • mysql innodb引擎中varchar和char的区别[亲测有效]

    mysql innodb引擎中varchar和char的区别[亲测有效]
    一. 行记录格式 innodb在存储数据的时候是以行的形式存储的,版本相关,并且有固定的格式。可以通过下面的语句查询当前所用版本的行记录格式: show t…

    2023-04-08
    154
  • Python编程实例:用Python解析数据

    Python编程实例:用Python解析数据数据解析是指将一些结构化或半结构化数据从一种形式转换为另一种形式的过程。其中结构化数据与半结构化数据是指具有非常明显固定格式的数据,例如XML、JSON等;而非结构化数据则是指不具有固定格式的数据,例如文本、图片等。

    2024-03-25
    80
  • sql漏洞注入工具_cve20201938漏洞

    sql漏洞注入工具_cve20201938漏洞
    CVE-2020-9402 Django GIS SQL注入漏洞 0x01.环境搭建 利用vulhub搭建漏洞环境 service docker start…

    2023-04-09
    167
  • redis 5.0.7 源码阅读——跳跃表skiplist

    redis 5.0.7 源码阅读——跳跃表skiplistredis中并没有专门给跳跃表两个文件。在5.0.7的版本中,结构体的声明与定义、接口的声明在server.h中,接口的定义在t_zset.c中,所有开头为zsl的函数。 一、数据结构 单个节点: t

    2023-01-26
    147
  • 简洁易懂的Python语法定义

    简洁易懂的Python语法定义Python语言是一种高级编程语言,相比于其他的编程语言,它的语法确实非常简洁,可读性也很强,因此备受开发者们的喜爱。Python的语法设计初衷是让代码看起来更像文字,减少各种可省略的语法,让程序员可以更加专注于编写逻辑代码。

    2024-01-05
    118
  • oracle rac 迁移asm 方式更换主机 [通俗易懂]

    oracle rac 迁移asm 方式更换主机 [通俗易懂]主要步骤: 准备工作:新主机始化软件,对应目录目录 1.安装GI (确保原与新主机版本一致) 2.安装RDMS (确保原与新主机版本一致) 查看相关权限 [grid@vm1 bin]$ id gri…

    2023-03-25
    154
  • sql视图和存储过程_oracle存储过程详解

    sql视图和存储过程_oracle存储过程详解1.视图 1.1 什么是视图? 视图实际上是一张虚拟表,其本身不存储数据。 相当于一张表或多张表的数据结果集 数据表复杂的情况下,可以把查询结果放在虚拟表中,提升效率 1.2如何创建、更新、删除视图…

    2023-04-06
    139

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注