在上一篇《HikariCP 获取连接流程源码分析一》中,我们分析了 HikariDataSource 的getConnection()方法,而这个方法,其实详细的实现细节都是在 HikariPool 的 getConnection()方法中,我们来分析下 HikariPool 的 getConnection()方法。
代码如下:
public final Connection getConnection() throws SQLException {return getConnection(connectionTimeout);}
这里又调用了一个有参的 getConnection()方法,但是我们并没有传参数 connectionTimeout,这个是哪里来的呢?这个其实就是用户在初始化连接池的时候设置的参数connectionTimeout,它表示获取连接的超时时间,不配置的话默认值 30 秒。我们继续看下getConnection(connectionTimeout);的实现: