首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Heroku/Play/BoneCp连接问题

Heroku/Play/BoneCp连接问题
EN

Stack Overflow用户
提问于 2013-03-18 23:26:25
回答 4查看 8.4K关注 0票数 6

我在heroku上有一个使用play的应用程序。它在很长一段时间内都工作得很好,但最近我开始得到这样的结果:

代码语言:javascript
代码运行次数:0
运行
复制
Caused by: java.sql.SQLException: Timed out waiting for a free available connection.
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169) ~[hibernate-core-4.1.9.Final.jar:4.1.9.Final]
at com.jolbox.bonecp.BoneCP.getConnection(BoneCP.java:503) ~[bonecp-0.7.1.RELEASE.jar:0.7.1.RELEASE]

是由以下原因引起的

代码语言:javascript
代码运行次数:0
运行
复制
org.postgresql.util.PSQLException: FATAL: too many connections for role "ejmatdbwywaugk"

这显然是一个连接泄漏,除非我使用的是JPA.em()。Play示例永远不会关闭像这样获得的实体管理器。我试着关闭它,但应用程序突然显示实体管理器已关闭。

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-19 21:09:40

尝试使用BoneCP 0.8.0-rc1并使用以下配置:

代码语言:javascript
代码运行次数:0
运行
复制
db.default.idleMaxAge=10 minutes
db.default.idleConnectionTestPeriod=30 seconds
db.default.connectionTimeout=20 second
db.default.connectionTestStatement="SELECT 1"
db.default.maxConnectionAge=30 minutes
票数 8
EN

Stack Overflow用户

发布于 2013-07-15 08:20:27

BoneCP/Heroku/Play处理连接的方式存在缺陷。我对github上的BoneCP做了一个修复:

https://github.com/wwadge/bonecp/pull/10

此外,还可以通过在Build.scala中添加以下内容来使用已编译的库

代码语言:javascript
代码运行次数:0
运行
复制
val appDependencies = Seq(
"com.jolbox" % "bonecp" % "0.8.0-rc2-SNAPSHOT-20130712-14382677.jar",
....

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
  libraryDependencies += "com.jolbox" % "bonecp" % "0.8.0-rc2-SNAPSHOT-20130712-14382677.jar" from "https://dl.dropboxusercontent.com/u/36714110/libraries/bonecp-patches/bonecp-0.8.0-rc2-SNAPSHOT-20130712-14382677.jar"
,resolvers += ...
票数 2
EN

Stack Overflow用户

发布于 2013-03-21 17:18:41

Bug 999114是BoneCP 0.7.1版本(当前是稳定版本)的连接泄漏的已知问题。切换到@MaFo提到的更高版本应该可以修复它。在BoneCP/Postgres connections leak中还提到了一种解决方法

最后,我切换到了另一个我正在从事的项目的连接池Tomcat JDBC Connection Pool,因为我希望它(将会)得到更好的支持,因为它是apache项目的一部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15480506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档