java - HikariPool-1 - 在连接获取期间中断

标签 java sql mariadb hikaricp bungeecord

所以我正在尝试建立连接但它不起作用并给了我这个很好的异常(我不太理解):

11:17:07 [SEVERE] java.sql.SQLException: HikariPool-1 - Interrupted during connection acquisition
> 11:17:07 [SEVERE] at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:200)
> 11:17:07 [SEVERE] at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:161)
> 11:17:07 [SEVERE] at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
> 11:17:07 [SEVERE] at net.bungeencoin.mcn.sql.DatabaseConnecter.getConnection(DatabaseConnecter.java:48)
> 11:17:07 [SEVERE] at net.bungeencoin.mcn.sql.Database.getCoins(Database.java:31)
> 11:17:07 [SEVERE] at net.bungeencoin.mcn.listeners.CacheListener.lambda$onJoin$0(CacheListener.java:27)
> 11:17:07 [SEVERE] at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)
> 11:17:07 [SEVERE] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 11:17:07 [SEVERE] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 11:17:07 [SEVERE] at java.lang.Thread.run(Thread.java:748)
> 11:17:07 [SEVERE] Caused by: java.lang.InterruptedException
> 11:17:07 [SEVERE] at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:944)
> 11:17:07 [SEVERE] at com.zaxxer.hikari.util.ConcurrentBag.borrow(ConcurrentBag.java:157)
> 11:17:07 [SEVERE] at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:179)
> 11:17:07 [SEVERE] ... 9 more

知道为什么吗?

最佳答案

此错误意味着您有一个或多个长时间运行的 SQL 语句,这些语句占用了您的 Hikari 连接池中的所有连接,在此期间,您的应用程序上出现了其他称为“中断”的东西,调用所有阻塞线程以抛出在他们阻塞的地方出现中断异常。

Hikari CP 使用阻塞结构来保证线程安全,因此出现了这个堆栈跟踪。

相关的 GitHub 问题 https://github.com/brettwooldridge/HikariCP/issues/976

这是一篇关于 InterruptedException 主题的经典博文: https://www.ibm.com/developerworks/library/j-jtp05236/index.html

关于java - HikariPool-1 - 在连接获取期间中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61140320/

相关文章:

php - MySQL数据库表命名约定

mysql - 使用 MySQL 查询模拟移动时间线

java - 从 Java 日历迁移到 Joda 日期时间

java - 权限被拒绝 : connect occurs on Selenium 2. 44​​.0

mysql - SQL 仅选择列上具有最大值的行

mysql - MariaDB 复制挂起,没有任何错误

postgresql - 尝试在 Azure 云提供商上创建专用链接时出现问题

java - 字符串操作 - 从字符串中删除字符

java - 哪个持续集成系统最容易从备份在新机器上重新建立?

mysql - 在一个sql请求中使用当前插入id作为另一列的字段值