将连接对象返回到 HikariCP 池的最佳方法
2022-09-01 15:06:23
我正在尝试使用HikariCP连接池。我能够让它工作并获得一个我可以使用的连接。我不确定将连接返回到池的最佳方法是什么。
我有以下问题:
- 我应该在完成后关闭连接,依靠idleTimeout和maxLifetime设置,还是可以使用另一个调用,以免占用池中的连接?
- 如果我关闭连接(而不是返回到池),这是否会导致创建其他连接对象以满足连接池大小的要求?
寻找有用的建议。
我正在尝试使用HikariCP连接池。我能够让它工作并获得一个我可以使用的连接。我不确定将连接返回到池的最佳方法是什么。
我有以下问题:
寻找有用的建议。
与大多数连接池一样,当您请求一个连接池时,Hikari不会为您提供实际的JDBC连接。相反,它的作用是为您提供一个实现接口的代理。在Hikari的情况下 - 它是一个对象。Connection
ConnectionProxy
此代理有几个目的,其主要目的是 - 将打开/关闭连接和语句的控制权从您身边转移到连接池中。这是自动发生的,您应该像往常一样使用连接。这包括在使用后关闭它们。
如果您查看Hikari的源代码,特别是在类中,您会发现该方法与标准方法非常不同。代码读作:ConnectionProxy
close()
将连接标记为已关闭,执行清理,重置基础连接状态和参数。
因此,只需调用即可清理并将连接返回到池。close()