spring整合hikari的属性配置(官方翻译参考)
·
官方地址:https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby
依赖包:
Java 8 thru 11 maven artifact:
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.4.5</version> </dependency>
Java 7 maven artifact (maintenance mode):
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP-java7</artifactId> <version>2.4.13</version> </dependency>
Java 6 maven artifact (maintenance mode):
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP-java6</artifactId> <version>2.3.13</version> </dependency>
springboot配置:
###############################################hikari############################################
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
#指定数据库驱动名称,不支持XA data。如果使用jdbcUrl配置则不需要配置该值。默认值:none。
#参考https://github.com/brettwooldridge/HikariCP#popular-datasource-class-names
#spring.datasource.hikari.dataSourceClassName=
spring.datasource.url=jdbc:mysql://192.168.25.69:3306/bdc?characterEncoding=UTF8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.hikari.autoCommit=true
#连接建立超时时间 单位ms 默认30000
spring.datasource.hikari.connectionTimeout=30000
#空闲连接超时时间 单位ms 最小10000(10s) 默认600000(10min)
#当minimumIdle小于maximumPoolSize时有效
#0 空闲连接永远不会被移除
spring.datasource.hikari.idleTimeout=30000
#最小空闲连接数,默认值maximumPoolSize。当空闲连接低于该值且总连接数低于maximumPoolSize时,HikariCP会立即添加连接来保证一个高效的性能
#但是,HikariCP 不建议配置该值,建议使用默认值,让HikariCP维护一个固定连接数的连接池来保持高效。
#spring.datasource.hikari.minimumIdle=
#最大连接数(包含空闲和正在使用的连接),默认值10.当连接数达到该值时,新的连接申请会被阻塞直到超时。
spring.datasource.hikari.maximumPoolSize=10
#一个连接在连接池中的最长存活时间,正在被使用的链接如果超时会等到关闭后被移除
#最小30000ms (30 seconds). Default: 1800000 (30 minutes)
#0 连接永不超时
spring.datasource.hikari.maxLifetime=1800000
#连接测试查询语句,如果驱动支持JDBC4,强烈建议不配置该属性
#尝试不配置该属性来运行连接池,如果驱动不支持JDBC4,HikariCP会打出一个错误日志通知你。默认值:none
#spring.datasource.hikari.connectionTestQuery=
#指标记录,默认:none。这个属性只适用于程序配置或ioc容器,允许你指定一个Codahale/Dropwizard MetricRegistry来记录指标。
#参考:https://github.com/brettwooldridge/HikariCP/wiki/Dropwizard-Metrics
#spring.datasource.hikari.metricRegistry=
#健康检查,默认:none。允许你指定一个Codahale/Dropwizard HealthCheckRegistry来报告当前健康信息。
#参考https://github.com/brettwooldridge/HikariCP/wiki/Dropwizard-HealthChecks
#spring.datasource.hikari.healthCheckRegistry=
#连接池名称。Default: auto-generated
#spring.datasource.hikari.poolName=hikariPool
##########################HikariCP不常用的配置#####################
#spring.datasource.hikari.initializationFailTimeout=1
#是否在其自己的事务中隔离内部池查询
#由于这些查询通常是只读查询,所以很少需要将它们封装在自己的事务中。
#此属性仅适用于禁用autoCommit的情况。默认值:false
#spring.datasource.hikari.isolateInternalQueries=false
#连接池是否可以被JMX挂起和恢复。在挂起状态下,获取连接将不会超时,会被阻塞直到连接池恢复。,默认false。
#spring.datasource.hikari.allowPoolSuspension=false
#指定从连接池获取到的连接在默认情况下是否是只读模式的。这个取决于数据库和应用,默认false。
#spring.datasource.hikari.readOnly=false
#是否注册Mbeans,默认false。
#spring.datasource.hikari.registerMbeans=false
#连接初始化sql。当一个连接被创建后,在放入连接池之前,执行这条语句来确认是否是有效连接。默认值none。
#spring.datasource.hikari.connectionInitSql=
#支配驱动类名称,一般不需要配置,hikari会根绝jdbcUrl来解析使用响应的驱动,如果找不到会打印错误日志来通知你。
spring.datasource.hikari.driverClassName=com.mysql.jdbc.Driver
#指定从连接池获取到的连接的默认事务隔离级别。枚举值来自Connection class的常量。例如TRANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ等。
#默认情况下是数据库的默认隔离级别。
#spring.datasource.hikari.transactionIsolation=
#连接测试超时时间。最小值250ms,不能超过connectionTimeout。默认值5000
#spring.datasource.hikari.validationTimeout=5000
#连接离开连接池后一定时间,会通过日志记录可能存在连接泄漏。该属性配置的是这个时间。
#0 表示不启用连接泄漏检测。最小值是2000 单位ms。默认值0。
#spring.datasource.hikari.leakDetectionThreshold=0
#指定数据源。你可以自己封装数据源,不用通过hikari来反射生成。
#配置了该属性后,dataSourceClassName和所有DataSource-specific的属性都会被忽略。
#spring.datasource.hikari.dataSource=
#指定hikari连接池创建线程的线程工厂。默认值none。ThreadFactory 实例
#spring.datasource.hikari.threadFactory=
#提供ScheduledExecutorService 实例。HikariCP在setRemoveOnCancelPolicy(true)时会使用。默认值none。
#spring.datasource.hikari.scheduledExecutor=
#为支持catalog的数据库设置默认的catalog,默认依赖于jdbc驱动。
#spring.datasource.hikari.catalog=
#为支持schema的数据库设置默认的schema,默认依赖于jdbc驱动。
#spring.datasource.hikari.schema=
spring xml配置:
<context:property-placeholder location="db.properties"/>
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource">
<property name="driverClassName" value="${db.driver}"/>
<property name="jdbcUrl" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
<property name="autoCommit" value="true"/>
<property name="connectionTimeout" value="30000"/>
<property name="idleTimeout" value="30000"/>
<property name="maximumPoolSize" value="10"/>
<property name="maxLifetime" value="1800000"/>
</bean>
更多推荐
已为社区贡献5条内容
所有评论(0)