dropwizard mysql_HikariCP连接池属性_哪些HikariCP属性建议使用

以下这些是HikariCP属性,不会spring配置HikariCP连接池的话,请看教程:如何在spring中配置HikariCP连接池?

1f520.pngdataSourceClassName

这是DataSourceJDBC驱动程序类的名称。请参阅特定JDBC驱动程序的文档以获取此类名,或参见下表。注意不支持XA数据源。XA需要像bitronix这样的真正的事务管理器。请注意,如果您使用的jdbcUrl是“old-school”基于DriverManager的JDBC驱动程序配置,则不需要此属性。默认值:无

- 也可以使用以下这个属性,二选一,springBoot项目则必须使用jdbcUrl

1f520.pngjdbcUrl

此属性指示HikariCP使用“基于DriverManager的”配置。我们认为基于DataSource的配置(上图)由于各种原因(见下文)而优越,但对于许多部署而言,几乎没有显着差异。将此属性与“旧”驱动程序一起使用时,您可能还需要设置该driverClassName属性,但首先尝试不使用该属性。请注意,如果使用此属性,您仍可以使用DataSource属性来配置驱动程序,实际上建议使用URL本身中指定的驱动程序参数。默认值:无

1f520.pngusername

此属性设置从基础驱动程序获取Connections时使用的默认身份验证用户名。请注意,对于DataSources,它通过调用DataSource.getConnection(*username*, password)底层DataSource以非常确定的方式工作。但是,对于基于驱动程序的配置,每个驱动程序都不同。在基于驱动程序的情况下,HikariCP将使用此属性在传递给驱动程序的调用中username设置user属性。如果这不是您所需要的,请完全跳过此方法并调用,例如。默认值:无PropertiesDriverManager.getConnection(jdbcUrl, props)addDataSourceProperty("username", ...)

1f520.pngpassword

此属性设置从基础驱动程序获取Connections时使用的默认验证密码。请注意,对于DataSources,它通过调用DataSource.getConnection(username, *password*)底层DataSource以非常确定的方式工作。但是,对于基于驱动程序的配置,每个驱动程序都不同。在基于驱动程序的情况下,HikariCP将使用此属性在传递给驱动程序的调用中password设置password属性。如果这不是您所需要的,请完全跳过此方法并调用,例如。默认值:无PropertiesDriverManager.getConnection(jdbcUrl, props)addDataSourceProperty("pass", ...)

经常使用

2705.pngautoCommit

此属性控制从池返回的连接的默认自动提交行为。它是一个布尔值。默认值:true

⌚connectionTimeout

此属性控制客户端(即您)等待池中连接的最大毫秒数。如果在没有连接可用的情况下超过此时间,则将抛出SQLException。最低可接受的连接超时为250毫秒。默认值:30000(30秒)

⌚idleTimeout

此属性控制允许连接在池中空闲的最长时间。此设置仅在minimumIdle定义为小于时才适用maximumPoolSize。一旦池到达连接,空闲连接将不会退出minimumIdle。连接是否空闲退出的最大变化为+30秒,平均变化为+15秒。在此超时之前,连接永远不会被空闲。值为0表示永远不会从池中删除空闲连接。允许的最小值为10000毫秒(10秒)。默认值:600000(10分钟)

⌚maxLifetime

此属性控制池中连接的最长生命周期。使用中的连接永远不会退役,只有当它关闭时才会被删除。在逐个连接的基础上,应用微小的负衰减以避免池中的大量灭绝。我们强烈建议您设置此值,它应比任何数据库或基础结构强加的连接时间限制短几秒。值0表示没有最大寿命(无限寿命),当然主题是idleTimeout设置。默认值:1800000(30分钟)

1f520.pngconnectionTestQuery

如果您的驱动程序支持JDBC4,我们强烈建议您不要设置此属性。这适用于不支持JDBC4的“遗留”驱动程序Connection.isValid() API。这是在从池中给出连接之前执行的查询,以验证与数据库的连接是否仍然存在。再次尝试运行没有此属性的池,如果您的驱动程序不符合JDBC4,HikariCP将记录错误以通知您。 默认值:无

1f522.pngminimumIdle

此属性控制HikariCP尝试在池中维护的最小空闲连接数。如果空闲连接低于此值并且池中的总连接数小于maximumPoolSize,则HikariCP将尽最大努力快速有效地添加其他连接。但是,为了获得最高性能和对峰值需求的响应,我们建议不要设置此值,而是允许HikariCP充当固定大小的连接池。默认值:与maximumPoolSize相同

1f522.pngmaximumPoolSize

此属性控制允许池到达的最大大小,包括空闲和正在使用的连接。基本上,此值将确定到数据库后端的实际连接的最大数量。对此的合理值最好由您的执行环境决定。当池达到此大小且没有空闲连接可用时,对getConnection()的调用将connectionTimeout在超时前阻塞最多毫秒。请阅读有关游泳池尺寸的信息。默认值:10

1f4c8.pngmetricRegistry

此属性仅可通过编程配置或IoC容器获得。此属性允许您指定池使用的Codahale / Dropwizard 实例MetricRegistry来记录各种度量标准。有关详细信息,请参阅Metrics维基页面。默认值:无

1f4c8.pnghealthCheckRegistry

此属性仅可通过编程配置或IoC容器获得。此属性允许您指定池使用的Codahale / Dropwizard 实例HealthCheckRegistry来报告当前的健康信息。有关详细信息,请参阅运行状况检查维基页面。默认值:无

1f520.pngpoolName

此属性表示连接池的用户定义名称,主要显示在日志记录和JMX管理控制台中,以标识池和池配置。默认值:自动生成

不经常使用

⌚initializationFailTimeout

如果池无法成功初始化连接,则此属性控制池是否“快速失败”。任何正数都被认为是尝试获取初始连接的毫秒数;在此期间,应用程序线程将被阻止。如果在此超时发生之前无法获取连接,则将引发异常。此超时被应用后的connectionTimeout期。如果值为零(0),HikariCP将尝试获取并验证连接。如果获得连接但验证失败,则将引发异常并且池未启动。但是,如果无法获得连接,则池将启动,但稍后获取连接的努力可能会失败。小于零的值将绕过任何初始连接尝试,并且池将在尝试在后台获取连接时立即启动。因此,稍后获得连接的努力可能失败。默认值:1

274e.pngisolateInternalQueries

此属性确定HikariCP是否在其自己的事务中隔离内部池查询,例如连接活动测试。由于这些通常是只读查询,因此很少需要将它们封装在自己的事务中。此属性仅在autoCommit禁用时适用。默认值:false

274e.pngallowPoolSuspension

此属性控制是否可以通过JMX挂起和恢复池。这对某些故障转移自动化方案很有用。当池暂停时,调用getConnection()将不会超时并将一直保持到池恢复为止。默认值:false

274e.pngreadOnly

此属性控制默认情况下从池中获取的Connections是否处于只读模式。请注意,某些数据库不支持只读模式的概念,而其他数据库在Connection设置为只读时提供查询优化。您是否需要此属性将在很大程度上取决于您的应用程序和数据库。默认值:false

274e.pngregisterMbeans

此属性控制是否注册JMX管理Bean(“MBean”)。默认值:false

1f520.pngcatalog

该属性设置默认目录为支持目录的概念数据库。如果未指定此属性,则使用JDBC驱动程序定义的缺省目录。默认值:驱动程序默认

1f520.pngconnectionInitSql

此属性设置一个SQL语句,该语句将在每次创建新连接之后执行,然后再将其添加到池中。如果此SQL无效或引发异常,则将其视为连接失败,并将遵循标准重试逻辑。默认值:无

1f520.pngdriverClassName

HikariCP将尝试仅通过驱动程序管理器来解析驱动程序jdbcUrl,但对于某些较旧的驱动程序,driverClassName还必须指定。除非您收到明显的错误消息,指出未找到驱动程序,否则请忽略此属性。默认值:无

1f520.pngtransactionIsolation

此属性控制从池返回的连接的默认事务隔离级别。如果未指定此属性,则使用JDBC驱动程序定义的缺省事务隔离级别。如果您具有所有查询通用的特定隔离要求,则仅使用此属性。此属性的值是从不断的名称Connection类,如TRANSACTION_READ_COMMITTED,TRANSACTION_REPEATABLE_READ等默认值:驱动程序默认

⌚validationTimeout

此属性控制连接测试活动的最长时间。该值必须小于connectionTimeout。最低可接受的验证超时为250毫秒。默认值:5000

⌚leakDetectionThreshold

此属性控制在记录消息之前连接可以离开池的时间量,指示可能的连接泄漏。值为0表示禁用泄漏检测。启用泄漏检测的最低可接受值是2000(2秒)。默认值:0

➡dataSource

此属性仅可通过编程配置或IoC容器获得。此属性允许您直接设置DataSource要由池包装的实例,而不是让HikariCP通过反射构造它。这在一些依赖注入框架中很有用。指定此属性后,dataSourceClassName将忽略该属性和所有特定于DataSource的属性。默认值:无

1f520.pngschema

该属性设置的默认模式为支持模式的概念数据库。如果未指定此属性,则使用JDBC驱动程序定义的默认架构。默认值:驱动程序默认

➡threadFactory

此属性仅可通过编程配置或IoC容器获得。此属性允许您设置java.util.concurrent.ThreadFactory将用于创建池使用的所有线程的实例。在某些受限执行环境中需要它,其中线程只能通过ThreadFactory应用程序容器提供的方式创建。默认值:无

➡scheduledExecutor

此属性仅可通过编程配置或IoC容器获得。此属性允许您设置java.util.concurrent.ScheduledExecutorService将用于各种内部计划任务的实例。如果向HikariCP提供ScheduledThreadPoolExecutor实例,建议setRemoveOnCancelPolicy(true)使用。默认值:无

以下这些是HikariCP连接池每个数据库版本的Driver驱动类,dataSourceClassName配置需要的,相当于jdbc.driver:DatabaseDriverDataSource classApache DerbyDerbyorg.apache.derby.jdbc.ClientDataSource

FirebirdJaybirdorg.firebirdsql.ds.FBSimpleDataSource

H2H2org.h2.jdbcx.JdbcDataSource

HSQLDBHSQLDBorg.hsqldb.jdbc.JDBCDataSource

IBM DB2IBM JCCcom.ibm.db2.jcc.DB2SimpleDataSource

IBM InformixIBM Informixcom.informix.jdbcx.IfxDataSource

MS SQL ServerMicrosoftcom.microsoft.sqlserver.jdbc.SQLServerDataSource

MySQLConnectorcom.mysql.jdbc.jdbc2.optional.MysqlDataSource 已过时

高版本mysql connector驱动请改用成

com.mysql.cj.jdbc.MysqlDataSource

MariaDBMariaDBorg.mariadb.jdbc.MariaDbDataSource

OracleOracleoracle.jdbc.pool.OracleDataSource

OrientDBOrientDBcom.orientechnologies.orient.jdbc.OrientDataSource

PostgreSQLpgjdbc-ngcom.impossibl.postgres.jdbc.PGDataSource

PostgreSQLPostgreSQLorg.postgresql.ds.PGSimpleDataSource

SAP MaxDBSAPcom.sap.dbtech.jdbc.DriverSapDB

SQLitexerialorg.sqlite.SQLiteDataSource

SyBasejConnectcom.sybase.jdbc4.jdbc.SybDataSource

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/663.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值