我想知道固定大小的Hikari池中的设置maxLifetime
和idleTimeout
设置.
在什么情况下连接从固定大小的池中退出?由于池是固定大小的,退休后立即创建的新连接是什么?
此外,如果数据库本身(在我的情况下是MySQL)在达到数据库等待超时后关闭连接(如果maxLifetime
不小于数据库超时)会发生什么?
连接是否会从固定大小的池中退出,另一个将立即创建?
谢谢!
当连接达到其maxLifetime或者连接在池中为idleTimeout保持空闲时,HikariCP将重新连接连接.
HikariCP管家默认每30秒运行一次.为了维护'minimumIdle'连接,它可能会添加新连接或退出空闲连接(不是客户端借用idleTimeout millis).
你必须设置maxLifetime少于(mysql)wait_timeout几分钟,以避免连接/异常中断.
HikariCP可能会在管家中或客户端尝试借用连接时添加新连接.所以它可能不会在退休后立即添加连接.