java – Heroku / Play / BoneCp连接问题

我在heroku上有一个使用play的应用程序.它工作时间最长,但最近我开始得到这个:
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]

这是由

org.postgresql.util.PsqlException: FATAL: too many connections for role "ejmatdbwywaugk"

在这显然是一个连接泄漏,除了我正在使用JPA.em(). Play示例永远不会关闭像这样获得的实体管理器.我尝试关闭它,但随后应用程序爆炸说实体经理已关闭.

有任何想法吗?

解决方法

尝试使用BoneCP 0.8.0-rc1并使用此配置:
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

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量