如何检查HikariCP连接池在Java中是否有效?

问题描述 投票:11回答:3

我在配置文件中编写了以下属性我在我的应用程序中使用Log4j当我运行项目时。

我正在关注message.does意味着在我的项目中配置连接池?如果不是那么它将如何?

INFO:internal.ConnectionProviderInitiator - HHH000130:实例化显式连接提供程序:com.zaxxer.hikari.hibernate.HikariConnectionProvider

我也提到了以下链接

link here

Datasource settings

hibernate.datasource.driver-class-name=com.mysql.jdbc.Driver
hibernate.datasource.url=jdbc:mysql://localhost:3306/mydb
hibernate.datasource.username=root
hibernate.datasource.password=root

HikariCP Settings

hibernate.hikari.dataSource.url=jdbc:mysql://localhost:3306/mydb
hibernate.hikari.idleTimeout=10
hibernate.hikari.maximumPoolSize=30
hibernate.hikari.minimumIdle=15
hibernate.connection.provider_class=com.zaxxer.hikari.hibernate.HikariConnectionProvider
hibernate.hikari.dataSourceClassName=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
java mysql hibernate connection-pooling hikaricp
3个回答
4
投票

首先,配置不一致,因为最大<minimumIdle。那些应该设置为最多相同的值。

hibernate.hikari.maximumPoolSize=10
hibernate.hikari.minimumIdle=10

如果池正在运行,您应该看到与端口3306的10个ESTABLISHED连接。

netstat -ant | grep 3306
tcp        0      0 127.0.0.1:41722     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41730     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41728     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41726     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41716     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41732     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41720     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41736     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41718     127.0.0.1:3306      ESTABLISHED 
tcp        0      0 127.0.0.1:41724     127.0.0.1:3306      ESTABLISHED

3
投票

请参阅关于MySQL的HikariCP说明:

已知MySQL数据源在网络超时支持方面被打破。请改用jdbcUrl配置。

你需要删除下面的行,Hikari会找到驱动程序

hibernate.datasource.driver-class-name=com.mysql.jdbc.Driver

jdbcUrl此属性指示HikariCP使用“基于DriverManager的”配置。我们认为基于DataSource的配置(上面)是优越的

使用Hibernate4时,请尝试添加以下建议:

hibernate.hikari.dataSource.url=jdbc:mysql://localhost/database
hibernate.hikari.dataSource.user=bart
hibernate.hikari.dataSource.password=51mp50n

2
投票
  1. 您是否尝试过使用该应用程序在数据库中插入/更新某些内容?如果它失败那么它就不起作用了。
  2. 另一种测试方法是将您在此处提供的数据源更改为:hibernate.hikari.dataSource.url到不存在的数据库。
  3. 最后,将<Configuration status="WARN">更改为<Configuration status="DEBUG">
© www.soinside.com 2019 - 2024. All rights reserved.