gpt4 book ai didi

java - 如何在 HikariCP 中创建新连接并稍后检索它们

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:11:48 26 4
gpt4 key购买 nike

有人愿意详细说明 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);

最佳答案

使用池时,您无需向池中添加连接以便稍后检索它。你做完全相反的事情:当你需要一个连接时,你从池中获得一个连接,并在你完成连接后关闭连接以将它返回到池中。正如其名称所示,HikariDataSource 是一个数据源。 DataSource 是一个对象,您可以从中获取连接。

池为您处理连接的打开。如果没有自动可用的连接等,它会让您进入等待队列。

根据池的属性,池可以立即或按需打开连接,保持给定数量的连接始终打开,在给定的未使用时间后缩小池大小等。

这一切都有很好的记录:https://github.com/brettwooldridge/HikariCP#user-content-configuration-knobs-baby

示例代码(Java 7 及更高版本):

try (Connection connection = ds.getConnection()) {
// use the connection
}

示例代码(Java 7 之前):

Connection connection = ds.getConnection();
try {
// use the connection
}
finally {
connection.close();
}

关于java - 如何在 HikariCP 中创建新连接并稍后检索它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26223116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com