当前位置:网站首页 > 技术博客 > 正文

hikaripool-1 connection is not



配置HikariCP的必需配置

对于数据源必须要配置的内容只有链接信息,其他内容都是非必须内容

连接信息包括

  1. 数据库驱动或者JDBC URL
  2. 用户名
  3. 密码

数据库驱动

因为现在大多数的JdbcUrl配置中已经指明需要连接的数据库类型,所以一般不需要额外再去设置,这里列出来各个数据库的驱动

数据库驱动JDBC URLOracleoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:@dbip:port:SQL Servercom.microsoft.jdbc.sqlserver.SQLServerDriverjdbc:microsoft:sqlserver://dbip:port;DatabaseName=MySQLcom.mysql.jdbc.Driverjdbc:mysql://dbip:port/达梦dm.jdbc.driver.DmDriverjdbc:dm://dbip:port/DB2com.ibm.db2.jdbc.app.DB2Driverjdbc:db2://dbip:port/Sybasecom.sybase.jdbc2.jdbc.SybDriverjdbc:sybase:Tds::?ServiceName=PostgreSQLorg.postgresql.Driverjdbc:postgresql://dbip:port//h2(内存数据库)org.h2.Driverjdbc:h2:mem:

配置数据源的格式

通常配置数据源信息我们可以使用下面四种格式

Config配置类
 

这种方式可以通过下面的方式添加数据库不同的配置进来

 

但是这种方式存在一个问题就是DataSource中的映射需要确认,很多时候设置的参数和实际映射并不是完全一样。

直接实例化数据源
 

setRegisterMbeans

这里需要提一下这个方法,使用直接实例DataSource方法一个好处配置参数在获取连接的时候进行赋值的,这样用户可以修改数据库连接池的参数。但是需要注意如果使用HikariConfig来初始化数据源,则需要在HikariConfig设置setRegisterMbeans。

使用yaml配置
 
使用Properties配置
 

配置HikariCP的非必需配置

autoCommit

参数作用:控制从池返回的连接的默认自动提交行为

默认值:true


connectionTimeout

参数作用:控制客户端等待池中连接的最长毫秒数。

默认值:默认 30000(30s),最低设置值250


idleTimeout

参数作用:连接允许被闲置在池中的最大时间

默认值:默认(10分钟),最小值为10000毫秒(10秒)


maxLifetime

参数作用:控制池中连接的最大生命周期

默认值:默认值为(30分钟),值0表示没有最大生存期


connectionTestQuery

参数作用:在数据库连接池给出连接之前进行查询,以验证与数据库的连接是否仍然存在且有效。

默认值:空


minimumldle

参数作用:属性控制 HikariCP 尝试在池中维护的最小空闲连接数

默认值:果minimumldle未设置则默认为是maximumPoolSize


maximumPoolSize

参数作用:控制数据库连接池连接数允许到达的最大值,包括空闲和正在使用的连接

默认值:10


metricRegistry

参数作用:允许用户指定池使用的Codahale/Dropwizard实例MetricRegistry,来记录各种度量标准。

默认值:无


healthCheckRegistry

参数作用:允许用户指定池使用的Codahale/Dropwizard实例HealthCheckRegistry,来报告当前系统的健康信息。

默认值:无


poolName

参数作用:该属性表示连接池的用户定义名称,主要显示在日志记录和JMX管理控制台中,以标识池和池配置。

默认值:自动生成


initializationFailTimeout

参数作用:控制池在初始化失败的时候是否“快速失败”,该值为尝试获取初始连接的毫秒数。

默认值:1,小于0的值将绕过任何初始连接尝试,并且池将尝试在后台获取连接时立即启动。


isolateinternalQueries

参数作用:控制否在自己的事务中隔离内部池查询

默认值:false


allowPoolSuspension

参数作用:此属性控制池是否可以通过JMX挂起和恢复

默认值:false


readOnly

参数作用:控制从池中获取的Connections是否处于只读模式

默认值:false


registerMbeans

参数作用:是否注册JMX以管理Bean

默认值:false


catalog

参数作用:为支持catalog的数据库设置默认catalog

默认值:使用JDBC驱动程序定义的值


connectionlnitSqI

参数作用:该语句将在每次创建新连接之后执行,然后再将该连接添加到池中。

默认值:无


transactionlsolation

参数作用:控制从池返回的连接的默认事务隔离级别

默认值:使用JDBC驱动程序定义的值,值是Connection类的常量名

 

validationTimeout

参数作用:控制连接测试存活的最长时间

默认值:5000(5秒),最低可设置时间250


leakDetectionThreshold

参数作用:在记录一条指示可能连接泄露的消息之前流出池的时间。值为0表示禁用泄露检测

默认值:0,最低可接受值是2000毫秒(2秒)


dataSource

参数作用:允许用户直接设置DataSource要由池包装的实例,而不是让HikariCP通过反射构造该实例

默认值:无


schema

参数作用:该属性为支持schema概念数据库设置默认schema

默认值:使用JDBC驱动程序定义的值


threadFactory

参数作用:通过配置该属性自定义设置java.util.concurrent.ThreadFactory的实例,可创建池使用的所有线程的实例

默认值:无


scheduledExecutor

参数作用:该属性自定义设置java.util.concurrent.Scheduled-ExecutorService的实例,可实例化各种内部调度任务

默认值:无

版权声明


相关文章:

  • 数据指标体系搭建2024-12-18 22:30:11
  • jmap命令作用2024-12-18 22:30:11
  • java不同版本的区别2024-12-18 22:30:11
  • java并发编程实践和并发编程实战2024-12-18 22:30:11
  • 王码五笔输入法98版字根表2024-12-18 22:30:11
  • 位图索引最适用于以下哪种列2024-12-18 22:30:11
  • 做销售怎么获得客户信任2024-12-18 22:30:11
  • 什么是深度优先搜索方法?它有什么特点?2024-12-18 22:30:11
  • linux attach命令2024-12-18 22:30:11
  • json转为字符串2024-12-18 22:30:11