有人会关心HikariCP如何处理池中的连接吗?如何在池中添加新连接,以及如何在以后调用/检索它?
这是我目前的代码:
HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(100);
config.setDataSourceClassName("com.mysql.jdbc.jdbc2.optional.MysqlDataSource");
config.addDataSourceProperty("serverName", "localhost");
config.addDataSourceProperty("port", "8889");
config.addDataSourceProperty("databaseName", "XXX");
config.addDataSourceProperty("user", "XXX");
config.addDataSourceProperty("password", "XXX");
System.out.print("qq");
HikariDataSource ds = new HikariDataSource(config);
ds.setConnectionTimeout(800);
Run Code Online (Sandbox Code Playgroud)
JB *_*zet 13
使用池时,不会向池添加连接以便稍后检索它.您可以执行完全相反的操作:在需要时从池中获取连接,并在完成连接后关闭连接以将其返回池中.正如其名称所示,HikariDataSource是一个DataSource.DataSource是一个从中获取连接的对象.
池为您处理连接的打开.如果没有自动连接等,它会让您进入等待队列.
根据池的属性,池可以立即打开连接或按需打开连接,保持始终打开给定数量的连接,在给定的未使用时间量后缩小池大小等.
这些都有很好的记录:https://github.com/brettwooldridge/HikariCP#user-content-configuration-knobs-baby
示例代码(Java 7及更高版本):
try (Connection connection = ds.getConnection()) {
// use the connection
}
Run Code Online (Sandbox Code Playgroud)
示例代码(在Java 7之前):
Connection connection = ds.getConnection();
try {
// use the connection
}
finally {
connection.close();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9722 次 |
| 最近记录: |