【发布时间】:2016-04-12 10:03:17
【问题描述】:
尽管覆盖了 HikariCP idleTimeout 属性“hibernate.hikari.idleTimeout”,但在阈值之后连接不会释放。我正在使用 sql 命令 SHOW FULL PROCESSLIST 来分析连接。
<property name="hibernate.hikari.dataSource.url" value="${DATABASE_URL}"/>
<property name="hibernate.hikari.dataSource.user" value="${DATABASE_USERNAME}"/>
<property name="hibernate.hikari.dataSource.password" value="${DATABASE_PASSWORD}"/>
<property name="hibernate.hikari.dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"/>
<property name="hibernate.connection.provider_class" value="com.zaxxer.hikari.hibernate.HikariConnectionProvider"/>
<property name="hibernate.hikari.maxLifetime" value="1800000"/>
<property name="hibernate.hikari.idleTimeout" value="60000"/>
<property name="hibernate.hikari.connectionTimeout" value="180000" />
<property name="hibernate.hikari.maximumPoolSize" value="10"/>
<property name="hibernate.hikari.minimumIdle" value="5"/>
【问题讨论】:
-
我正在使用 JMeter 进行测试。我执行了 50 个查询。创建的最大连接数 = 10,这很好。但在执行后,根据 idleTimout 值,没有任何连接超时,它们将 maxLifeTime 超时。