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

时间:2020-04-10 12:33:01

标签: 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

知道为什么吗?

1 个答案:

答案 0 :(得分:1)

此错误意味着您拥有一个或多个长时间运行的SQL语句,这些语句正在保留Hikari连接池中的所有连接,并且在此期间,您的应用程序上还有一个名为“ Interrupt”的东西,调用了所有阻塞线程在它们被阻塞时的中断异常。

Hikari CP使用阻塞结构来确保线程安全,因此发生了此堆栈跟踪。

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

如果是InterruptedException,则是有关该主题的经典博客文章: https://www.ibm.com/developerworks/library/j-jtp05236/index.html