SQLException:超时等待免费可用连接 [英] SQLException: Timed out waiting for a free available connection
本文介绍了SQLException:超时等待免费可用连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用 Play Framework 2.0.4
构建一个应用程序。该应用程序部署在带有cleardb数据库的 heroku
中。
用户不断收到此偶然错误:
PlayException:执行异常[[PersistenceException:java.sql.SQLException:等待免费可用连接超时]]
在播放.core.ActionInvoker $$ anonfun $ receive $ 1.apply(Invoker.scala:134)
at play.core.ActionInvoker $$ anonfun $ receive $ 1.apply(Invoker.scala:115)
at akka .actor.Actor
at play.core.ActionInvoker.apply(Invoker.scala:113)
at akka.actor.ActorCell.invoke(ActorCell.scala :626)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197)
at akka.dispatch.Mailbox.run(Mailbox.scala:179)
at akka.dispatch。 ForkJoinExecutorConfigurator $ MailboxExecutionTask.exec(AbstractDispatcher.scala:516)
at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259)
at akka.jsr166y.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool .java:975)
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1479)
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
导致: javax.persistence.PersistenceException:java.sql.SQLException:超时等待空闲的可用连接。
at com.avaje.ebeaninternal.server.transaction.TransactionManager.createQueryTransaction(TransactionManager.java:356)
at com.avaje.ebeaninternal.server.core.DefaultServer.createQueryTransaction(DefaultServer.java:2021)
at com.avaje.ebeanjeternal.server.core.OrmQueryRequest.initTransIfRequired(OrmQueryRequest.java:241)
at com.avaje.ebeaninternal.server.core.DefaultServer.findId(DefaultServer.java:1212)
at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:1118)
at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:1105)
at play.db.ebean.Model $ Finder.byId(Model.java:237)
<现在情况越来越糟,有时候所有用户每次都会得到相同的错误,直到我在heroku中重新启动应用程序。
任何帮助或提示来调试它?
解决方案
我认为问题与 Heroku / Play / BoneCp连接问题
Heroku关闭连接后30秒。
I'm building an app in java with Play Framework 2.0.4
. The app is deployed in heroku
with cleardb database.
Users keep getting this occasional error:
PlayException: Execution exception [[PersistenceException: java.sql.SQLException: Timed out waiting for a free available connection.]]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134)
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115)
at akka.actor.Actor$class.apply(Actor.scala:318)
at play.core.ActionInvoker.apply(Invoker.scala:113)
at akka.actor.ActorCell.invoke(ActorCell.scala:626)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197)
at akka.dispatch.Mailbox.run(Mailbox.scala:179)
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:516)
at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259)
at akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1479)
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
Caused by: javax.persistence.PersistenceException: java.sql.SQLException: Timed out waiting for a free available connection.
at com.avaje.ebeaninternal.server.transaction.TransactionManager.createQueryTransaction(TransactionManager.java:356)
at com.avaje.ebeaninternal.server.core.DefaultServer.createQueryTransaction(DefaultServer.java:2021)
at com.avaje.ebeaninternal.server.core.OrmQueryRequest.initTransIfRequired(OrmQueryRequest.java:241)
at com.avaje.ebeaninternal.server.core.DefaultServer.findId(DefaultServer.java:1212)
at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:1118)
at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:1105)
at play.db.ebean.Model$Finder.byId(Model.java:237)
Now is getting worse and sometimes all users get the same error every time until I restart the app in heroku.
Any help or tips to debug it?
解决方案
I think the problem is the same of Heroku/Play/BoneCp connection issues
Heroku close the connections after 30 seconds.
这篇关于SQLException:超时等待免费可用连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文