HikariCP:具有固定大小池的maxLifetime和idleTimeout

时间:2016-01-04 15:20:06

标签: hikaricp

我想知道maxLifetimeidleTimeout设置在固定大小的Hikari池中的行为。

在哪种情况下连接从固定大小的池中退出?由于池是固定大小的,退休后是否立即创建了新连接?

此外,如果数据库本身(在我的情况下是MySQL)在达到数据库等待超时后关闭连接(如果maxLifetime不小于数据库超时)会发生什么?

连接是否会从固定大小的池中退出,另一个将立即创建?

谢谢!

1 个答案:

答案 0 :(得分:11)

当连接到达maxLifetime或者连接在池中为idleTimeout保持空闲时,HikariCP将停止连接。

HikariCP管家默认每30秒运行一次。保持最小的空闲'连接,它可能会添加新的连接或退出空闲连接(客户端没有借用idleTimeout millis)。

你必须设置maxLifetime少于(mysql)wait_timeout几分钟,以避免连接/异常中断。

HikariCP可能会在管家中或客户端尝试借用连接时添加新连接。所以它可能不会在退休后立即添加连接。